我有一個在Medium Trust Server中運行的使用Castle ActiveRecord的MVC3應用程序,但是如果啓用Lazy Loading,則會顯示一個黃色的安全異常。如果我禁用延遲加載,則一切正常。Castle ActiveRecord - 在Medium Trust中啓用延遲加載
有一種方法可以在Castle.Core版本3和nHibernate 3.1.0.4000的中型信任服務器中使用延遲加載?
對不起,我的英語和謝謝。
更新:
在我的谷歌搜索,我發現這個選項:
預先生成延遲加載代理
http://nhforge.org/wikis/howtonh/pre-generate-lazy-loading-proxies.aspx
我試過了,但看起來像唐沒有與Caste.Core 3和nHibernate 3.1一起工作。我錯了?
看起來像這個選項長時間不接收更新,這是不好的。
下中等信任新的冒險
http://blogs.taiga.nl/martijn/2009/06/24/new-adventures-under-medium-trust/
在城堡DynamicProxy話題,我發現:
「的解決方案是一個簡單的:DynamicProxy調用AssemblyBuilder.DefineDynamicModule和使用的重載生成調試符號。將其更改爲不再生成調試符號使其在中等信任下工作!「
我開發了Castle.Core,我在ModuleScope.cs(Castle.Core \ DynamicProxy)中發現了AssemblyBuilder.DefineDynamicModule,並且在調用它的已經設置的false來生成調試符號。
嗨托馬斯!我這樣做了,但我認爲這與懶惰加載沒有關係。我唯一的問題是啓用懶惰,不要在中等信任中運行Castle(我已經做了你所做的)。謝謝您的幫助。 – user1229300 2012-02-24 12:06:02
如果我理解Lazy Loading Castle.Core是代理生成的IL代碼。這就是爲什麼在中等信任下它不起作用。但也許別人知道如何克服這個限制。我有興趣聽說 – 2012-02-24 12:14:21
托馬斯,我在我的問題中提出了兩個選項來啓用我在Google中找到的中等信任中的延遲加載。你對這些選擇有什麼看法? – user1229300 2012-03-02 15:01:48