0
私はOpenRastaでStructureMapを使用しようとしています。私のConfiguration
クラスはIDependencyResolverAccessor
を実装しています。ここでは、コンテナを設定するには、私のコードは次のとおりです。StructureMapを使用したOpenRasta DIの問題
container.Configure(x =>
{
x.For<IFileResourceRepository>().Use(
r => new FileResourceSqlRepository(ConnectionString));
x.For<ILog>().Use(l => new FileLog(LogFileName, _logLevel));
x.For<ILogger>().Use<ProTeckLogger>();
x.For<ILogger<CodecLogSource>>().Use<ProTeckLogger<CodecLogSource>>();
x.For<ILogger<IOLogSource>>().Use<ProTeckLogger<IOLogSource>>();
x.For<ILogger<OperationModelLogSource>>().Use<ProTeckLogger<OperationModelLogSource>>();
x.For<ILogger<PipelineLogSource>>().Use<ProTeckLogger<PipelineLogSource>>();
x.SetAllProperties(
policy =>
policy.Matching(
prop => (prop.PropertyType.IsAssignableFrom(typeof (ILogger)))));
x.SetAllProperties(policy => policy.OfType<IFileResourceRepository>());
x.SetAllProperties(policy => policy.OfType<ILog>());
x.SetAllProperties(policy => policy.OfType<ILogger<CodecLogSource>>());
x.SetAllProperties(policy => policy.OfType<ILogger<IOLogSource>>());
x.SetAllProperties(policy => policy.OfType<ILogger<OperationModelLogSource>>());
x.SetAllProperties(policy => policy.OfType<ILogger<PipelineLogSource>>());
});
私は次のエラーを取得しています:
StructureMap Exception Code: 202
No Default Instance defined for PluginFamily System.Diagnostics.TraceSource, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
私はおそらく私が登録を欠けていると仮定しますか?私は何か他のことを間違えているかもしれませんか?
ありがとう
これは役に立ちますが、私はVisual Studio(Cassini)Webサーバーで実行しています。 –