私はDIシナリオの初心者で、Unityとasp.net mvcを使用してDIシナリオを実装しています。Unity MVCはデフォルトでタイプを解決しますか?
UnitOfWork
クラスにDbContex
インスタンスを挿入しようとしました。インスタンスを登録しましたが、DbContex
のオブジェクトを既に注入していて、DbContex
を解決するためのコードを記述していないことに気付きました。
どうすれば可能ですか? Unityはデフォルトでインスタンスを解決しますか?
DIを動作させるためにこの「解決コード」を書くのは私の責任だと思っていました。
例えば、私はコントローラに依存関係を注入していたとき、私はGetControllerInstance方法でこのようなコードを記述する必要があります。
return MvcUnityContainer.Container.Resolve(controllerType) as IController
。
あなたはUnityがデフォルトで「登録する」と言っていますが、Unityが登録されているすべてのタイプをデフォルトで「解決」するかどうかを知る必要があります。 –