7

我想在我的开发机器上模拟共享托管环境的信任级别,这样当我开始部署我的解决方案时就不会出现令人讨厌的意外。

我在 web.config 中添加了这个设置:

<trust level="Medium" originUrl="*"/>

唯一的问题是当我尝试保存到我的数据库时遇到此异常:

InnerException: System.Security.SecurityException Message="请求'System.Net.SocketPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'类型的权限失败。" 来源="mscorlib"

我如何在保持中等“喜欢”信任的同时特别允许这样做。还有其他我可以合理允许的事情吗?我将托管在 GoDaddy 上。

4

2 回答 2

5

我联系了 Godaddy,得到了这样的回复:

GoDaddy.com ASP.NET 共享托管服务器使用默认的中等信任级别,并添加了 OleDbPermission、OdbcPermission 和限制较少的 WebPermission

在中等信任级别下运行的应用程序无法访问注册表,无法访问 Windows 事件日志,也无法使用反射。此类应用程序只能与定义的网络地址范围进行通信,并且文件系统访问仅限于应用程序的虚拟目录层次结构。如果您遇到任何问题,请确保您的应用程序可以在中等信任环境中运行。

因此,人们可以使用它来指示共享托管权限通常是什么样的。

当我弄清楚如何按照@blowdards 链接中所述创建这些权限时,我会发布它们。或者,如果有人可以发布一个很棒的例子。

于 2009-03-30T17:35:47.690 回答
0

因此,您拥有的是默认的中等信任,并且您看到的错误是正确的。

当然,服务器管理员可以根据自己的喜好进行调整,您只需要准确了解他们对默认信任策略所做的更改即可。您可以按照MSDN中列出的步骤创建自定义信任级别。现在你需要做的就是找出 Godaddy 对他们做了什么:)

于 2009-03-29T14:48:34.497 回答