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