Castle ActiveRecord - 在中型信任中启用延迟加载

时间:2012-02-23 20:34:19

标签: nhibernate activerecord castle

我有一个在中型信任服务器上运行的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以生成调试符号。

1 个答案:

答案 0 :(得分:0)

当遇到类似问题时,我必须下载城堡源并设置AllowPartiallyTrustedCallers,然后重新编译。

我希望它有所帮助。