2010-07-30 34 views
3

大會 'Foo.BAL,版本= 1.0.0.0, 文化=中立,公鑰=空' 標有 AllowPartiallyTrustedCallersAttribute程序, 並使用2級安全 透明模型。級別2 透明度導致 中的所有方法AllowPartiallyTrustedCallers 程序集成爲安全性 默認爲透明,這可能是 引起的此異常。AllowPartiallyTrustedCallersAttribute程序錯誤與MVC 2和.NET 4.0

描述:在執行 當前Web請求期間發生未處理的異常 。請查看 堆棧跟蹤以瞭解有關 錯誤的更多信息,以及它源自 的代碼。

我有一個標準的業務層調用到我的數據訪問層,爲什麼我得到這個錯誤與MVC 2和.NET 4.0?

我正在使用企業塊,所以我放棄了它,現在只是使用標準的System.Data.SqlClient API來最小化依賴關係。

編輯:如果我將BAL和DAL項目上的目標框架更改爲3.5,我不會收到該錯誤。

回答

3

的安全模型改變非常顯着.NET 3.5和.NET 4

http://msdn.microsoft.com/en-us/library/dd233103.aspx

+0

是的,我已經在這個閱讀起來之間。我的理解是,默認情況下,這個錯誤不應該發生。是MVC2(建立在3.5 sp1上)還是我的BAL和/或DAL庫用於導致問題的數據訪問? – 2010-08-02 12:56:44

+0

這聽起來像BAL是什麼在這裏指責。會發生什麼是CLR知道程序集是針對CLR 2還是CLR 4構建的,並且會應用適當的安全策略。 MVC是針對CLR 2構建的,所以它使用安全級別1.如果您的BAL是針對CLR 4構建的,則默認使用安全級別2(您可以使用程序集級別屬性更改它)。它們並不重要,它們一起在同一個應用程序中。 – 2010-08-03 03:43:40