2013-04-20 86 views
2

我有一个使用依赖注入的控制器:键入'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'没有默认构造函数 如何配置此场景的结构映射?

+0

请将您的代码发布到哪里设置您的依赖关系解析器! – nemesv 2013-04-20 19:17:25

+0

我更新我的问题 – 2013-04-20 19:20:53

+0

您的IFeedParserFactory(FeedController的依赖关系)是否正确注册? – 2013-04-20 19:27:53

回答

0

我最终得到这个例外,因为我有我的应用程序在一类循环依赖。

相关问题