2013-10-23 29 views
2

動機:我想在單身範圍類,並定義它是單身,如:爲的WebAPI和MVC Ninject依賴解析

kernel.Bind<IClass>().To<Class>().InSingletonScope(); 

的想法是,我需要MVC和的WebAPI之間共享這個。

在MVC中,類獲得單例。所以這個工作在MVC項目中很好。

問題:我已經爲WebAPI實現了我自己的IDependencyResolver。它使用相同的內核設置。

所以我明白我們可以讓Class在webapi調用中也是單身人士。但是我可以爲webapi和mvc共同擁有這個單例嗎?獲取是堅持mvc或webpi調用。

大概我在這裏錯過了一些概念。請解釋我們如何實現這一目標。或者這是不可能的。 是的,可能設計很奇怪,不對,但如果因爲某些原因必須這樣做。

回答

1

既能保持MVC和網絡API意味着你必須有自己獨立的內存空間,進程等2個獨立的應用程序

我猜想,你可以嘗試用AppDomain的東西,但你可能有那個問題。

你可以嘗試會話,但Web API是REST,不應該有,但如果你確實需要相同的實例,你可以嘗試彎曲一些規則。

+0

嗨,謝謝你的回答。我已經開始嘗試使用會話,儘管REST是無狀態的。 –