我有一个在中型信任服务器上运行的MVC3应用程序,它使用Castle ActiveRecord,但如果我启用了延迟加载,则会向我显示黄色屏幕安全例外。如果我禁用延迟加载,一切正常。
有一种方法可以在具有Castle.Core版本3和nHibernate 3.1.0.4000的中型信任服务器中使用延迟加载吗?
对不起我的英文和谢谢。
更新
在我在Google上的搜索中,我找到了以下选项:
预生成延迟加载代理
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/
在Castle DynamicProxy主题中,我找到了:
“解决方案很简单:DynamicProxy调用AssemblyBuilder.DefineDynamicModule并使用生成调试符号的重载。将其更改为不再生成调试符号使其在中等信任下工作!”
我打开了Castle.Core的源代码,我在ModuleScope.cs(Castle.Core \ DynamicProxy)中找到了AssemblyBuilder.DefineDynamicModule,在调用中它已设置为false以生成调试符号。
答案 0 :(得分:0)
当遇到类似问题时,我必须下载城堡源并设置AllowPartiallyTrustedCallers
,然后重新编译。
我希望它有所帮助。