NHibernate 3.3.1具有中等信任错误

NHibernate 3.3.1具有中等信任错误,nhibernate,medium-trust,Nhibernate,Medium Trust,我在中等信任中使用NHibernate 3.3.1。它抛出一个安全异常。 在NHibernate 3.3.1中,说明它与中等信任度兼容 有任何先决条件吗?NHibernate支持中等信任,请阅读 它描述了如何实现你想要的 我成功地使用NuGet软件包在中等信任环境中使用NHibernate。您需要获得更详细的错误消息,以便我们进一步诊断。在web.config中,将其添加到system.webserver <httpErrors errorMode="Detailed"/> 希

我在中等信任中使用NHibernate 3.3.1。它抛出一个安全异常。 在NHibernate 3.3.1中,说明它与中等信任度兼容


有任何先决条件吗?

NHibernate支持中等信任,请阅读


它描述了如何实现你想要的

我成功地使用NuGet软件包在中等信任环境中使用NHibernate。

您需要获得更详细的错误消息,以便我们进一步诊断。在web.config中,将其添加到
system.webserver

<httpErrors errorMode="Detailed"/>

希望这将给您一个完整的堆栈跟踪,并从那里应该允许您进一步调试

您可能还需要添加此选项


system.web
(我不记得了)

我遇到了同样的问题,并尝试了所有建议来解决它(包括依赖注入), 但只有一个帮助了我:

我在Global.asax文件中添加了以下代码

protected void Application_Start()
{
    NHibernate.Cfg.Environment.UseReflectionOptimizer = false;
    ...
}
并在配置文件中禁用批处理(最后一个属性)


NHibernate.Driver.SqlClientDriver
服务器=。。。。。。。。
NHibernate.dialogue.mssql2008dialogue
真=1;假=0
假的
0

注意,这会导致性能问题

我在中等信任(Rackspace cloud)中使用NH3.3.1,您得到的实际错误是什么?错误是葡萄牙语:“Falha na requestação da permissão de tipo'System.Security.Permissions.ReflectionPermission,mscorlib,Version=4.0.0,Culture=中立,PublicKeyToken=b77a5c561934e089.”我也试过了。。。它在我的项目中添加了对NHibernate.DependencyInjection.dll的引用,但仍然抛出SecurityException。有什么先决条件吗?@Rippo这很奇怪。那么为什么会有3.3.1的包呢?在任何情况下,请记住并非所有的“中等信任”配置都是相同的。这是一个你需要问Randy的问题,我相信他使用它的原因不是中等信任。实际上,我的主机中的信任配置不是中等的,而是定制的。NH3.31运行正常。对于“System.Security.Permissions.ReflectionPermission”,使用NHibernate或ActiveRecord,使用应用程序启动或AR初始化的第一个代码解决了问题!这行代码“NHibernate.Cfg.Environment.UseReflectionOptimizer=false”;非常感谢!
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
  <session-factory name="NHibernate.Test">
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="connection.connection_string">Server=........</property>
    <property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
    <property name="query.substitutions">true=1;false=0</property>
    <property name="show_sql">false</property>
    <property name="adonet.batch_size">0</property>
  </session-factory>
</hibernate-configuration>