2012-04-09 63 views
0

我現在需要在服務器上部署的ASP.NET應用程序中使用Linq到SQL。不幸的是,託管服務器只能提供中等級別的信任。我的應用程序崩潰,沒有類型ReflectionPermission的權限。Linq到中等信任級別的SQL

有沒有辦法編輯我的查詢來解決這個限制?調用此代碼時

例如,我的應用程序崩潰:

Error error = new Error { Date = DateTime.Now, Message = message, StackTrace = stack }; 
dataContext.Errors.InsertOnSubmit(error); 
dataContext.SubmitChanges(); 

感謝。

+0

這可能會產生一些見解:http://davedewinter.com/2009/04/22/using-linq-to-sql-and-ef-in-sharepoint-under-medium-trust/ – mellamokb 2012-04-09 14:38:06

+0

雖然這可能是一個解決方案,我沒有訪問機器的網絡配置,這是一個共享的託管服務器。 – morsanu 2012-04-10 10:10:52

回答

1

這可能是由您的ReflectionPermission.RestrictedMemberAccess屬性引起的。

確保您的EF模型類中的每個屬性都是公共的。

我有一個更復雜的問題,雖然可能類似於你的情況。 我已經在我的EF模型類中聚合了一個具有私有屬性的類。 加載過程中,來自DB的任何記錄都會嘗試從此聚合類中加載每個屬性。

從我的某個模型類中刪除此引用(並通過複製所需的屬性來替換它)解決了中等信任環境中的問題。