2

我刚刚完成了我网站的核心功能的开发,现在已经将它上传到主机进行测试。

不幸的是,我收到以下错误:

安全异常

说明:应用程序试图执行安全策略不允许的操作。要授予此应用程序所需的权限,请联系您的系统管理员或在配置文件中更改应用程序的信任级别。

经过繁琐的搜索,我意识到这是因为我是在完全信任的环境中开发的,而我的固执宿主只会允许中等信任。

当我在 web.config 中设置中等信任时,调试器不会显示完全信任环境需要什么。

有没有办法清楚地检查这一点,或者以某种方式迫使网站合作?

我将 MVC 与 FormsAuthentication、代码优先数据库等结合使用。

4

2 回答 2

3

经过大量的试验和错误,我发现了错误。

微软的 SignalR 需要完全信任,而且没有办法绕过它。

禁用它可以解决问题。

编辑
从长远来看,似乎任何可以帮助该站点的库都已经过时了。如果有人收到此错误,只需在更改核心代码之前禁用(注释掉)您使用的任何三级库。

断点根本没有帮助,因为在禁用 SignalR 后,我在某个页面上出现了错误。设置断点并没有停止错误事件中的代码,因为事实证明安全异常是在 C# 深处的某个地方引发的,而不是被带到顶部。

于 2013-08-13T14:24:19.017 回答
2

你有两个选择

  1. 您可以有两个 web.config 文件,一个用于调试,一个用于在与您的托管环境尽可能接近的环境下发布和测试。
  2. 另一种选择可能是两个具有中等信任集的单个配置文件,并使用日志记录到文件/事件记录器以允许您调试
于 2013-08-13T13:49:47.073 回答