【发布时间】:2012-09-12 11:49:18
【问题描述】:
我正在使用 (来自 Nuget 包) Ninject 2.2 和 Fluent NHibernate 1.3(引擎盖下的 NHibernate v3.2),但我遇到了难题。
我正在使用 Fluent 配置来指向我的数据库、映射等:
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);
代码可以在我的本地机器上进行美化,直到我将 设置为镜像我的托管服务提供商,然后它开始出错。
问题行是此代码块中的第二行
Bind<Configuration>().ToConstant(fluentConfig.BuildConfiguration());
Bind<ISessionFactory>().ToConstant(fluentConfig.BuildSessionFactory());
Bind<ISession>().ToMethod(x => GetRequestSession(x));
我收到的异常: “...请求'System.Security.Permissions.ReflectionPermission....类型的权限失败”
有人有什么建议吗? 到目前为止,我的调查除了基于旧版本的 Ninject 和 NHibernate 的过时信息或涉及反编译 X 以脱离 Y 的解决方案之外什么都没有发现……我宁愿不这样做!
【问题讨论】:
-
从提出这个问题到现在我已经转向支持完全信任的托管服务提供商。不过,我仍然想知道是否有办法在中等信任环境中拥有 FNHB。
标签: asp.net-mvc fluent-nhibernate ninject-2 medium-trust reflectionpermission