从ASP.Net 3.5移动到4.0 - System.Security.Permissions.FileIOPermission异常

问题描述:

我相信这不能太难;但我很挣扎。该错误是从ASP.Net 3.5移动到4.0 - System.Security.Permissions.FileIOPermission异常

异常详细信息: System.Security.SecurityException: 请求类型的许可 “System.Security.Permissions.FileIOPermission, mscorlib程序,版本= 4.0.0.0, 文化=中立, PublicKeyToken = b77a5c561934e089' 失败。

我试图写入服务器上的文本文件。之前,我不得不修改web.config文件将信任级别设置为满。然后这一切似乎工作。

我已经更新我的网站以使用ASP.NET 4.0;现在我不能把它关掉。我真的没有太大的作用,只是读/写一个文件。但现在我无法克服这个错误。从我读过的,听起来像'Full'是4.0的默认设置?

我有一个(虚拟)空web.config。我尝试添加信任级别来明确地将其设置为完整,但似乎没有帮助。

编辑

我目前使用 File.AppendAllText写入文件

File.ReadAllText阅读的内容。

这是IIS7。

如果听起来像这不是编程相关的,我可以为我的主机提供客户支持。但是,正如我所说的,如果我将我的网站切换回3.5,那么效果很好。当我将它设置为4.0时 - 我得到这个错误。

+0

这是托管在IIS6或IIS7上吗? – Kev 2011-05-16 23:45:14

这里是一个白皮书许多的ASP.NET中的重大更改4.0 http://www.asp.net/learn/whitepapers/aspnet4/breaking-changes

它看起来像安全模型有显著大修...但它看起来像我的问题简单的答案是请添加:

<trust level= "Full" legacyCasModel="true" /> 

legacyCasModel应该为您提供以前版本的ASP.NET中的旧行为。这对我有效。