2012-07-31 40 views
2

我在中等信任使用NHibernate 3.3.1。它拋出一個安全例外。 在NHibernate 3.3.1中說它兼容中等信任。NHibernate 3.3.1與中等信任錯誤

有沒有先決條件?

+0

我用NH3.3.1在中等信任(Rackspace公司雲),什麼是你所得到的實際的錯誤? – Rippo 2012-07-31 07:17:56

+0

錯誤以葡萄牙語顯示: 「Falha nasolicitaçãodapermissãode tipo'System.Security.Permissions.ReflectionPermission,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'。」 – 2012-08-01 00:50:39

回答

1

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

+0

我也嘗試過了......它在我的項目中添加了對NHibernate.DependencyInjection.dll的引用,但仍然拋出SecurityException。 有任何先決條件嗎? – 2012-07-31 17:40:23

+0

請閱讀隨附的txt文件。 – 2012-07-31 17:43:29

+0

另外,這是版本3.2。 3.3+對我來說是開箱即用 – Rippo 2012-08-01 12:59:55

1

NHibernate支持中等信任,請閱讀this article

它描述瞭如何實現你想要的。

+0

我正在使用它。不要爲我工作。 有任何先決條件嗎? – 2012-07-31 17:16:50

0

您需要獲取更詳細的錯誤消息,以便我們可以進一步診斷。在你的web.config中​​

<httpErrors errorMode="Detailed"/> 

添加此希望這會給你一個完整的堆棧跟蹤,並從那裏應該讓你進一步調試。

你也可能需要添加在system.web這個

<customErrors mode="Off" />(我記不清了)

0

我有同樣的問題,並嘗試了所有的建議修復(包括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> 

注意,這應該會導致性能問題