1

我正在使用(来自Nuget包) Ninject 2.2和Fluent NHibernate 1.3(引擎盖下的NHibernate v3.2),我碰到了一堵砖墙。ReflectionPermission在中信任环境中使用Ninject 2.2,流利NHibernate

我用流利的配置指向我的数据库,映射等:

var fluentConfig = Fluently.Configure() 
    (MsSqlConfiguration.MsSql2008.DoNot.UseReflectionOptimizer() 
    .ConnectionString(c => c.FromConnectionStringWithKey("ExampleDB"))) 
    .Mappings(m => m.FluentMappings.AddFromAssemblyOf<ExampleMap>() 
    .Conventions.Add(FluentNHibernate.Conventions.Helpers.DefaultLazy.Never())) 
    .ExposeConfiguration(x => x 
          .SetProperty("current_session_context_class", "web")) 
    .ExposeConfiguration(BuildSchema); 

作品美化我的地方箱,直到我设置<信任级别的代码=“中等” />到镜像我的托管服务提供商,然后开始barf。

的问题行是2人在这个代码块

Bind<Configuration>().ToConstant(fluentConfig.BuildConfiguration()); 
Bind<ISessionFactory>().ToConstant(fluentConfig.BuildSessionFactory()); 
Bind<ISession>().ToMethod(x => GetRequestSession(x)); 

我收到的例外: ” ......请求类型System.Security.Permissions.ReflectionPermission的”许可.. ..失败“

有没有人有任何建议? 到目前为止,我的调查结果只是基于旧版Ninject和NHibernate的过时信息,或者涉及反编译X以解除Y的解决方案......我宁愿不这样做!

+0

问这个问题,现在我已经转移到支持完全信任托管服务提供商之间。尽管如此,我仍然想知道是否有办法让FNHB成为中型信托环境。 – Greg 2012-05-11 10:52:17

回答

2

使用中等信任的构建,而不是从的NuGet版本:https://github.com/ninject/ninject/downloads

+0

这肯定有帮助,谢谢。交换Ninject dll已允许Ninject在中等信任下正常运行。 (流利)然而NHibernate仍然抛出相同的异常。我在这里一半! – Greg 2012-03-01 11:35:48