Castle ActiveRecord-启用中等信任的延迟加载



我有一个MVC3应用程序在Medium Trust Server中运行,该应用程序使用Castle ActiveRecord,但如果我启用Lazy Loading,则会向我显示黄色的sreen安全异常。如果我禁用Lazy Load,则一切正常。

有一种方法可以在带有Castle.Core版本3和nHibernate 3.1.0.4000的中等信任服务器中使用Lazy Loading?

对不起我的英语,谢谢。

更新:

在谷歌上的搜索中,我发现了以下选项:

预生成延迟加载代理

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以生成调试符号。

当我遇到类似的问题时,我不得不下载castle源代码并设置AllowPartiallyTrustedCallers,然后重新编译。

我希望它能有所帮助。

最新更新