NInject是否在中等信任托管中工作?

时间:2010-04-11 08:24:25

标签: asp.net castle-windsor unity-container ninject

我正在与GoDaddy共享托管,我使用Castle Windsor开发了一个示例ASP.NET MVC应用程序,不幸的是,它在中等信任设置中无效。具体来说,我得到了这个错误:“[SecurityException:该程序集不允许部分信任的调用者”......等等。在他们的信任策略中,GoDaddy可悲的是不灵活。

我与Windsor没有关系,我想尝试另一种可以在Medium Trust下工作的人。我其实想要使用NInject,但我读过的人都取得了不同的成功。我读过的唯一没有问题的是微软的Unity。

我的问题是,NInject是否以中等信任方式工作?如果没有,我的选择是什么?

2 个答案:

答案 0 :(得分:3)

某些DI框架使用轻量级代码生成,不适用于中等信任。 NInject就是其中之一。您可以尝试将UseReflectionBasedInjection切换设置为true,如果性能对您来说不是问题,那么将使用可能值得一试的反射。

答案 1 :(得分:2)

如果您希望Windsor在部分信任下工作,您目前必须使用AllowPartiallyTrustedCallersAttribute从源代码构建它。最简单的方法是使用号角,请参阅this thread

否则请查看UnityAutoFac,我认为他们默认拥有APTCA。