2010-03-26 19 views
5

我想配置nhibernate 2.1.2运行在中等信任,没有任何运气。我试着按照中等信任和pre-generating the proxies运行建议。中等信任NHibernate 2.1.2

然后,我尝试删除所有对所有类和包的default-lazy =“false”进行延迟加载的引用。然而,这引发了一个异常,要求我配置proxyfactory.factory_class

这些方法都不起作用,因为它们会一直抛出通用安全异常或抛出缓解,因为这些库不允许AllowPartiallyTrustedCallers。

我是否使用错误版本的NHibernate,如果我想运行在中等信任?

是否有一组特定的二进制文件或源代码,我应该使用它。

更新:

我设法得到这个使用由卡尔提到的castle project mailing list提到的步骤工作。 除此之外,我不得不禁用城堡和nhibernate库的调试信息的生成。我写了一个快速指南,我可以找到的步骤here

回答

2

我也在寻找解决这个问题的方法。我遇到的一个建议解决方案是here,它将获得城堡核心,城堡动态代理和Nhibernate,并重新编译它们(通过[assembly:AllowPartiallyTrustedCallers]对另一个进行新引用)。有谁知道这是否是这种方式去(我还没有时间去尝试这个自己)?

+0

我发现,以及我只是通过它来查看它是否工作,如果它不适合更新结果。 – John 2010-03-26 13:26:33

+0

@约翰,好,它无线看到这是否是答案会很有趣。 – carl 2010-03-26 15:39:51

+0

这就是答案,但还有一些额外的事情需要做,以使其正常工作,例如告诉项目不要创建pdb文件。正要写下我所采取的所有步骤的指南,只需修复客户首先发现的一些错误。 – John 2010-03-26 15:56:56

0

NHibernate的需要访问您的域模型,让您的域模型组件,必须允许访问部分信任的调用方。

添加[assembly:AllowPartiallyTrustedCallers]到您的AssemblyInfo文件