模拟共享主机信任级别
Posted
技术标签:
【中文标题】模拟共享主机信任级别【英文标题】:Simulating Shared Hosting Trust Levels 【发布时间】:2010-10-16 04:03:44 【问题描述】:我想在我的开发机器上模拟共享托管环境的信任级别,以便在我部署我的解决方案时不会出现令人讨厌的意外。
我在 web.config 中添加了这个设置:
<trust level="Medium" originUrl="*"/>
唯一的问题是当我尝试保存到我的数据库时遇到此异常:
内部异常: System.Security.SecurityException Message="请求类型的权限 'System.Net.SocketPermission,系统, 版本=2.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089' 失败的。” 来源="mscorlib"
如何在保持中等“喜欢”信任的同时明确允许这样做。还有其他我可以合理允许的事情吗?我将在 GoDaddy 上托管。
【问题讨论】:
【参考方案1】:我联系了 Godaddy,得到了回复:
GoDaddy.com ASP.NET 共享主机 服务器使用默认的中信任 水平与添加 OleDbPermission、OdbcPermission 和 限制较少的 WebPermission.
在媒介下运行的应用程序 信任级别没有注册表访问权限, 无法访问 Windows 事件日志, 并且不能使用反射。这样的 应用程序只能与 定义的网络地址范围 并且文件系统访问仅限于 应用程序的虚拟目录 等级制度。请确保您的 应用程序可以在中等信任下工作 如果你有任何环境 有问题。
因此人们可以使用它来指示共享主机权限的一般情况。
当我弄清楚如何按照@blowdards 链接中所述创建这些权限时,我会发布它们。或者如果有人可以发布一个很棒的例子。
【讨论】:
【参考方案2】:所以你拥有的是默认的中等信任,你看到的错误是正确的。
当然,服务器管理员可以根据自己的喜好进行调整,您只需要准确了解他们对默认信任策略所做的更改即可。您可以按照MSDN 中列出的步骤创建自定义信任级别。现在你需要做的就是找出 Godaddy 对他们做了什么:)
【讨论】:
以上是关于模拟共享主机信任级别的主要内容,如果未能解决你的问题,请参考以下文章
如何在 .Htaccess 中禁用/不允许共享主机 RewriteLog 时,在 Apache 2 中模拟和测试 URL 重写规则?
共享主机 + 实体框架 + MySQL = 数据提供者错误?
在共享主机上使用 Castle Windsor 和 NHibernate 设施