當我的本地測試應用程序部署到共享虛擬主機(godaddy)時,我有一個問題'程序集不允許部分信任呼叫者'。流利的NHibernate - 城堡 - godaddy - 中等信任
我已閱讀各種帖子和解決方案,並且需要對我的應用程序進行最少更改的方法似乎是here。
是否有任何預編譯的DLL現在可用,我可以使用而無需重建nhibernate,因爲我沒有訪問svn或完全知道如何進行?
當我的本地測試應用程序部署到共享虛擬主機(godaddy)時,我有一個問題'程序集不允許部分信任呼叫者'。流利的NHibernate - 城堡 - godaddy - 中等信任
我已閱讀各種帖子和解決方案,並且需要對我的應用程序進行最少更改的方法似乎是here。
是否有任何預編譯的DLL現在可用,我可以使用而無需重建nhibernate,因爲我沒有訪問svn或完全知道如何進行?
我假設你使用NH 3.2,但如果你使用Fluent NH,那麼我不能確定。
有一個package on NUGET已創建,以滿足中等信任環境。 還有一個blog post描述如何使用這個軟件包。
基本上做一個軟件包安裝: -
PM>安裝,包裝NHibernate.DependencyInjection
然後使用下面的代碼: -
protected void Application_Start() {
Initializer.RegisterBytecodeProvider();
...
Rest of configuration code here
}
你不需要重新編譯任何東西。
我有同樣的問題,並能夠解決它使用NHibernate.DependencyInjection。
這些是我所採取的步驟:安裝所述NuGet package
1);
2)實現IEntityInjector接口:
public class EntityInjector : IEntityInjector
{
public object[] GetConstructorParameters(System.Type type)
{
//return null if your objects have parameterless constructors
return null;
}
}
3)在Global.asax的Application_Start,我註冊進樣器:
protected void Application_Start()
{
Initializer.RegisterBytecodeProvider(new EntityInjector());
...
}
我希望這有助於。
沒有幫助: [拋出:SecurityException:請求類型 'System.Security.Permissions.ReflectionPermission,mscorlib程序,版本= 4.0.0.0,文化=中性公鑰= b77a5c561934e089' 失敗的權限] NHibernate的。 DependencyInjection.BytecodeProvider..ctor()+40 NHibernate.DependencyInjection.Initializer.RegisterBytecodeProvider()+40 .... Application_Start()in Global.asax.cs:59 –