【发布时间】:2023-03-18 21:17:01
【问题描述】:
我有一个 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来生成调试符号。
【问题讨论】:
标签: nhibernate activerecord castle