3

考虑以下代码:

    public class InboxMenuItemDynamicProvider : DynamicNodeProviderBase
    {
      private IMyService _myService { get; set; }

      public InboxMenuItemDynamicProvider(IActionService actionService)
      {
         _myService = myService;
      }

      public override IEnumerable<DynamicNode> GetDynamicNodeCollection()
      { 
        // use _myService here....e.g. db access 
      }
    }
}

如何使用 StructureMap 和 MVC3 将服务依赖项注入 Mvc Sitemap DynamicNodeProvider?我正在使用 MVC3 依赖解析器。

但是,在运行应用程序时,我收到“无默认构造函数”错误。我需要以某种方式将服务依赖项注入提供程序,但我完全不知道在哪里/如何注入它们。我什至不知道它是否可能,因为 Mvc 站点地图可能在依赖解析器之外。

4

1 回答 1

4

请参阅此链接: http: //mvcsitemap.codeplex.com/discussions/263971

我想你可以使用:

private IMyService _myService 
{ 
    get 
    { 
        return DependencyResolver.Current.GetService<IMyService>(); 
    } 
}

并且在您的构造函数中不做任何特定的事情

于 2011-08-02T13:29:10.933 回答