检查什么需要完全信任

时间:2013-08-13 13:42:05

标签: c# asp.net-mvc hosting signalr

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

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

  

安全例外

     

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

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

当我在web.config中设置中等信任时,调试器无法显示完全信任环境的确切需要。

有没有办法清楚地检查这个,或以某种方式强迫网站合作?

我正在使用带有FormsAuthentication,Code-First Databasing等的MVC

2 个答案:

答案 0 :(得分:3)

经过大量的反复试验后,我发现了错误。

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

禁用该功能可解决此问题。

修改
从长远来看,似乎任何能够帮助网站的图书馆都已淘汰。如果有人收到此错误,只需在更改核心代码之前禁用(注释掉)您使用的任何高级库。

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

答案 1 :(得分:2)

您有两个选择

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