使用StructureMap将WCF ServiceClient注入Controller的构造函数时遇到了麻烦。
我关注Phil Haack's example on DI in ASP.NET MVC
我所拥有的WCF服务称为LogService。它实现了ILogService。
StructureMap.config如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<StructureMap>
<Assembly Name="Yakinix.Admin.Web" />
<Assembly Name="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<PluginFamily Type="System.Web.Mvc.IController" Assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<Plugin Type="Yakinix.Admin.Web.Controllers.HomeController" ConcreteKey="home" Assembly="Yakinix.Admin.Web" />
</PluginFamily>
<PluginFamily Type="Yakinix.Admin.Web.LogService.ILogService" Assembly="Yakinix.Admin.Web" DefaultKey="WcfLogService">
<Plugin Assembly="Yakinix.Admin.Web" Type="Yakinix.Admin.Web.LogService.LogServiceClient" ConcreteKey="WcfLogService" />
</PluginFamily>
</StructureMap>
抛出的错误是:
StructureMap异常代码:200
无法找到InstanceMemento 请求的InstanceKey PluginFamily的“WcfLogService” Yakinix.Admin.Web.LogService.ILogService
你有什么想法吗?
答案 0 :(得分:0)
我无法准确回答您的问题,但在dimecasts.com上有一个截屏视频,详细介绍了如何为您的WCF服务添加IOC支持。这是值得尝试的。