StructureMap例外コード:202デフォルトインスタンスが定義されていません
-
05-07-2019 - |
質問
SMで以下を登録してからインスタンスを作成しようとすると、例外が発生します-'StructureMap Exception Code:202 No Default Instance defined for PluginFamily ...'
Scan(x =>
{
x.Assembly("MVCDemo");
x.Assembly("MVCDemo.Infrastructure");
x.Assembly("MVCDemo.Services");
x.AddAllTypesOf(typeof (IRepository<>));
});
ForRequestedType<IRepository<Employee>>().TheDefault.Is.ConstructedBy(() => new EmployeeRepository());
var tmp4 = ObjectFactory.GetInstance<IRepository<Employee>>();
IRepositoryのインスタンスを取得しようとすると例外が発生します。
誰が私に欠けているものを知っていますか?
乾杯
オリー
解決
答えは、ObjectFactoryを使用してインスタンスを作成するのではなく、コンテナを使用する必要があることです。
var container = new Container(new MvcDemoRegistry());
var cultureProvider = container.GetInstance<IProvideCultureInfo>();
Ta
オリー
他のヒント
IoCおよびDIを使用する場合、インスタンスを取得するためにコンテナを使用することは想定されていません。コンストラクター注入を使用し、IoCに注入を処理させる必要があります。
所属していません StackOverflow