2009-12-04 62 views
0

运行时使用ASP.net 2.0(C#)和NHibernate 2.1.0 我收到错误发展:允许部分信任的调用方安全异常被扔althought上的完全信任模式

System.TypeInitializationException: The type initializer for 'NHibernate.ByteCode.LinFu.ProxyFactory' threw an exception. ---> System.Security.SecurityException: That assembly does not allow partially trusted callers. 

这个错误在生产服务器(一个虚拟主机公司)和我的开发环境中,一切都很好,只有被抛出了

我也跑下面这段代码在生产服务器上看到的代码访问安全性(CAS)级别,并从得到

System.Security.SecurityManager.IsGranted(new AspNetHostingPermission(AspNetHostingPermissionLevel.Unrestricted)) 

因此我可以假设我目前在一个充满信任的运行模式..

读了一些文章对这一类问题(不是专为NHibernate的) 后,我明白我需要添加

[assembly: AllowPartiallyTrustedCallers()] 

添加到我的AssebmlyInfo.cs文件中。

我的问题是: 有没有解决这个例外,而无需编辑NHibernate.ByteCode.LinFu.dll的AssmeblyInfo.cs的方法吗?有什么可以在web.config中配置以允许这种操作?

感谢,

塔尔。

+1

在我的努力得到的东西对媒体的信任与NHibernate 2.1.1李林甫在本地运行我碰到了同样的问题。 我将我的代理切换到Castle并使用了NHibernate代理生成器中的dynamicproxy,我可以在本地运行中等信任。 – Min 2009-12-04 17:11:02

回答

相关问题