Проблемы с ReflectionPermission при использовании Ninject 2.2, Fluent NHibernate в среде Medium Trust - PullRequest
1 голос
/ 28 февраля 2012

Я использую (из пакетов Nuget) Ninject 2.2 и Fluent NHibernate 1.3 (NHibernate v3.2 под капотом), и я столкнулся с кирпичной стеной.

Я используюСвободный конфиг, указывающий на мою базу данных, сопоставления и т. Д .:

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 .... failed "

У кого-нибудь есть предложения?Мои исследования до сих пор не дают ничего, кроме устаревшей информации, основанной на более старых версиях Ninject и NHibernate, или решений, которые включают декомпиляцию X для отключения Y ... что я бы предпочел не делать!

1 Ответ

2 голосов
/ 29 февраля 2012

Используйте среднюю доверенную сборку вместо версии от NuGet: https://github.com/ninject/ninject/downloads

...