我有一个使用依赖注入的控制器:键入'Api.Controllers。'没有一个默认的构造函数
public FeedController(IFeedProcessor feedProcessor)
{
_feedProcessor = feedProcessor;
}
这是我的配置代码:
public static void Config()
{
ObjectFactory.Initialize(x => x.Scan(scan =>
{
x.For<IFeedProcessor>().Use<FeedProcessor>();
}));
}
我FeedProcessor类有参数的构造函数:
public FeedProcessor(IFeedParserFactory ifeedParserFactory)
{
_ifeedParserFactory = ifeedParserFactory;
}
This StructureMapControllerFactory :
public class StructureMapControllerFactory : DefaultControllerFactory
{
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
{
if (controllerType == null)
if (requestContext.HttpContext.Request.Url != null)
throw new InvalidOperationException(string.Format("Page not found: {0}", requestContext.HttpContext.Request.Url.AbsoluteUri.ToString(CultureInfo.InvariantCulture)));
return ObjectFactory.GetInstance(controllerType) as Controller;
}
}
我得到这个错误: 类型'Api.Controllers.FeedController'没有默认构造函数 如何配置此场景的结构映射?
请将您的代码发布到哪里设置您的依赖关系解析器! – nemesv 2013-04-20 19:17:25
我更新我的问题 – 2013-04-20 19:20:53
您的IFeedParserFactory(FeedController的依赖关系)是否正确注册? – 2013-04-20 19:27:53