MVCコントローラのコンストラクタ注入されたパラメータを解決するために使用されるユニティコンテナの参照を取得することは可能ですか?MVCコントローラのUnityコンテナ参照を取得する
現在使用されているコンテナの参照が必要です。これは、使用するクラスがあるためです。
MvcApplication
クラスのApplication_Start()
ハンドラ中に登録された参照を、MvcApplicationクラスのプロパティに保存することで保存しようとしていますが、後でコントローラでアクセスしようとするとnullです。
コンテナがそうのように登録されている:
DependencyResolver.SetResolver(new UnityDependencyResolver(CurrentUnityContainer));
がCurrentUnityContainer
が
その後MvcApplicationクラスの非静的プロパティであると仮定すると、コントローラに我々は現在MvcApplicationにアクセスして、それを取得しよう例:
MvcApplication.Instance.CurrentUnityContainer
コンテナがコントローラ内でヌルである理由、または他の方法でそれを取得する理由はありますか?
申し訳ありませんが、私はコンテナ(IUnityContainer)が必要です。または、かなり多くのレガシーコードをリファクタリングする必要があります。 –
キャストしようとしました: 'var currentUnityContainer = System.Web.Mvc.DependencyResolver.Current as UnityDependencyResolver;'? –