2

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

有什么先决条件吗?

4

4 回答 4

1

NHibernate 支持中等信任,请阅读这篇文章

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

于 2012-07-31T06:02:30.247 回答
1

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

于 2012-07-31T14:02:39.997 回答
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>

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

于 2013-02-21T20:15:42.723 回答
0

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

<httpErrors errorMode="Detailed"/>

希望这将为您提供完整的堆栈跟踪,并从那里允许您进一步调试。

您可能还需要添加此

<customErrors mode="Off" />system.web(我不记得了)

于 2012-08-01T13:03:36.493 回答