2010-03-26 60 views
5

我想配置nhibernate 2.1.2運行在中等信任,沒有任何運氣。我試着按照中等信任和pre-generating the proxies運行建議。中等信任NHibernate 2.1.2

然後,我嘗試刪除所有對所有類和包的default-lazy =「false」進行延遲加載的引用。然而,這引發了一個異常,要求我配置proxyfactory.factory_class

這些方法都不起作用,因爲它們會一直拋出通用安全異常或拋出緩解,因爲這些庫不允許AllowPartiallyTrustedCallers。

我是否使用錯誤版本的NHibernate,如果我想運行在中等信任?

是否有一組特定的二進制文件或源代碼,我應該使用它。

更新:

我設法得到這個使用由卡爾提到的castle project mailing list提到的步驟工作。 除此之外,我不得不禁用城堡和nhibernate庫的調試信息的生成。我寫了一個快速指南,我可以找到的步驟here

回答

2

我也在尋找解決這個問題的方法。我遇到的一個建議解決方案是here,它將獲得城堡核心,城堡動態代理和Nhibernate,並重新編譯它們(通過[assembly:AllowPartiallyTrustedCallers]對另一個進行新引用)。有誰知道這是否是這種方式去(我還沒有時間去嘗試這個自己)?

+0

我發現,以及我只是通過它來查看它是否工作,如果它不適合更新結果。 – John 2010-03-26 13:26:33

+0

@約翰,好,它無線看到這是否是答案會很有趣。 – carl 2010-03-26 15:39:51

+0

這就是答案,但還有一些額外的事情需要做,以使其正常工作,例如告訴項目不要創建pdb文件。正要寫下我所採取的所有步驟的指南,只需修復客戶首先發現的一些錯誤。 – John 2010-03-26 15:56:56

0

NHibernate的需要訪問您的域模型,讓您的域模型組件,必須允許訪問部分信任的調用方。

添加[assembly:AllowPartiallyTrustedCallers]到您的AssemblyInfo文件