2011-05-16 63 views
1

我相信這不能太難;但我很掙扎。該錯誤是從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

回答

3

這裏是一個白皮書許多的ASP.NET中的重大更改4.0 http://www.asp.net/learn/whitepapers/aspnet4/breaking-changes

它看起來像安全模型有顯著大修...但它看起來像我的問題簡單的答案是請添加:

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

legacyCasModel應該爲您提供以前版本的ASP.NET中的舊行爲。這對我有效。