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

时间:2011-05-16 23:30:19

标签: .net asp.net security asp.net-4.0

我确信这不会太难;但我在挣扎。错误是

  

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

我正在尝试写入服务器上的文本文件。以前,我必须修改web.config文件,将信任级别设置为full。然后一切似乎都有效。

我已经更新了我的网站以使用ASP.NET 4.0;现在我无法把它拉下来。我真的没有做太多,只是读/写文件。但现在我无法克服错误。根据我的阅读,听起来像'Full'是4.0的默认设置?

我有一个(几乎)空的web.config。我尝试添加信任级别以明确将其设置为完整但它似乎没有帮助。

修改

我目前正在使用File.AppendAllText写入文件,File.ReadAllText来阅读内容。

这是IIS7。

如果听起来这与编程无关,我可以通过客户对我主机的支持来解决。但是,就像我说的,如果我将我的网站切换回3.5,它的效果很好。当我将其设置为4.0时 - 我收到此错误。

1 个答案:

答案 0 :(得分:3)

以下是有关ASP.NET 4.0中许多重大更改的白皮书 http://www.asp.net/learn/whitepapers/aspnet4/breaking-changes

看起来安全模型已经进行了重大改革......但看起来我的问题的简短答案是添加:

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

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