无法使用StructureMap在ASP.NET MVC中注入WCF服务依赖项

时间:2009-09-26 18:51:54

标签: c# asp.net-mvc wcf structuremap

使用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

你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我无法准确回答您的问题,但在dimecasts.com上有一个截屏视频,详细介绍了如何为您的WCF服务添加IOC支持。这是值得尝试的。

http://dimecasts.net/Casts/CastDetails/150