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服務器上運行。 – 2012-04-05 14:02:54