NHibernate 3.3.1具有中等信任错误

时间:2012-07-31 00:36:00

标签: nhibernate medium-trust

我在中等信任中使用NHibernate 3.3.1。它抛出一个安全例外。 在NHibernate 3.3.1中说它与中等信任兼容。

有任何先决条件吗?

4 个答案:

答案 0 :(得分:1)

NHibernate支持中等信任,请阅读this article

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

答案 1 :(得分:1)

我已成功使用NHibernate.DependencyInjection NuGet包在中等信任环境中使用NHibernate。

答案 2 :(得分:1)

我遇到了同样的问题并尝试了修复它的所有建议(包括DependencyInjection), 但只有一个人帮助了我:

我已将以下代码添加到我的Global.asax文件

protected void Application_Start()
{
    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>

注意,这应该会导致性能问题

答案 3 :(得分:0)

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

<httpErrors errorMode="Detailed"/>

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

您可能还需要添加此

<customErrors mode="Off" />中的

system.web(我记不住了)