最近,博主在发布网站的时候遇到一个新情况,系统发布完成后上传到服务器连接不上数据库,报出“Security Policy” 错误 “System.Security.SecurityException: That assembly does not allow partially trusted callers.” 。经查证。发现是客户服务器设置了较高的安全策略,系统代码中并没有给.dll 文件设置相应的访问安全设置,造成页面在服务器上无法访问dll文件。
修改方法:
将系统中的每个类库的 AssemblyInfo.cs 中添加以下代码:
using System.Security;
[assembly: AllowPartiallyTrustedCallers()]
然后编译发布就可以了!
建议技术人员发布网站的时候,如果无法再服务器的IIS上浏览查询网站错误,可以将web.config的自定义错误跳转关闭,如下:
<customErrors defaultRedirect="Error.aspx" mode="Off"/>
这样在客户端就可以查询到服务器端反馈的错误。方便解决问题,避免麻烦产生!