在将本地测试应用程序部署到共享虚拟主机(godaddy)时,我遇到了“程序集不允许部分信任的调用者”的问题。
我已阅读各种帖子和解决方案,而且对我的应用程序进行最少更改的内容似乎是here。
现在是否有任何预编译的dll我可以使用而无需重建nhibernate,因为我无法访问svn或确切知道如何继续?
答案 0 :(得分:0)
我假设您正在使用NH 3.2,但如果您使用的是Fluent NH,那么我无法确定。
为了迎合中等信任环境,我们创建了package on NUGET。 还有一个blog post描述了如何使用这个包。
基本上安装包: -
PM>安装包NHibernate.DependencyInjection
然后使用以下代码: -
protected void Application_Start() {
Initializer.RegisterBytecodeProvider();
...
Rest of configuration code here
}
您无需重新编译任何内容。
答案 1 :(得分:0)
我有同样的问题,并且能够使用NHibernate.DependencyInjection解决它。
这些是我采取的步骤:
1)安装了NuGet package;
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());
...
}
我希望这会有所帮助。