2010-04-11 47 views
2

我正在與GoDaddy共享主機,並使用Castle Windsor開發了一個示例ASP.NET MVC應用程序,但不幸的是,它在中等信任設置下無法使用。具體來說,我得到了這個錯誤:「[SecurityException:該程序集不允許部分受信任的呼叫者......」等等。GoDaddy在信任策略中可悲地不靈活。NInject是否在中等信任託管中工作?

我沒有與溫莎綁在一起,並想嘗試另一個在中等信任下工作的人。我實際上喜歡使用NInject,但我讀過的人有不同的成功。我讀過的唯一沒有任何問題的作品就是微軟的Unity。

我的問題是,NInject是否在中等信任下工作?如果不是,我有什麼選擇?

回答

3

一些DI框架使用輕量級代碼生成,並且不適用於中等信任。 NInject就是其中之一。您可以嘗試將UseReflectionBasedInjection切換爲true,這將使用反射,如果性能對您而言不是問題,則可能值得一試。

+0

LCG部分信任沒有問題。似乎適用於簡單注射器。 – Steven 2013-08-16 07:09:09

2

如果您想讓Windsor在部分信任下工作,您現在必須使用AllowPartiallyTrustedCallersAttribute從源代碼構建它。最簡單的方法是使用喇叭,請參閱this thread

否則看看UnityAutoFac,我認爲他們默認有APTCA。