我已经创建了一个简单的裸网站,NHibernate在Medium Trust下运行,尽管我已经做过所有研究,说它应该可行但我无法让最简单的示例工作。这是我的步骤
CurrentSessionContext(typeof(ManagedWebSessionContext).FullName)
此时,每个人似乎都建议您在Application_Start中要做的就是调用
NHibernate.DependencyInjection.Initializer.RegisterBytecodeProvider();
但是当我这样做时,我得到了可怕的System.Security.Permissions.ReflectionPermission
。查看DependencyInjection的来源,它表明ReflectionPermission应该被授予注入的东西才能工作。但Medium Trust明确禁止ReflectionPermission。如果我只是跳过DependencyInjection的东西,并尝试按原样使用NHibernate(有些人似乎认为可能只是工作),那么我仍然得到相同的SecurityExceptions。
所以你看到了我所处的catch-22。听起来我需要使用DependencyInjection来让Medium Trust工作,但是DependencyInjection需要Medium Trust不能提供的许可。
答案 0 :(得分:0)
它可以在某些共享主机提供商使用的自定义“中等信任”配置中运行。您需要使用您要定位的具体政策进行测试。