【问题标题】:StructureMap in ASP.NET Web API 2 without a reference to System.Web.MvcASP.NET Web API 2 中的 StructureMap 没有对 System.Web.Mvc 的引用
【发布时间】:2014-12-03 10:04:52
【问题描述】:

StructureMap.WebApi2 包依赖于 StructureMap.MVC5,而后者又依赖于 System.Web.Mvc。

由于我们正在构建一个仅 Web API 的项目,我们不想包含 System.Web.Mvc 程序集。

是否可以在没有这种依赖关系的情况下在 Web API 2 中使用 StructureMap?

【问题讨论】:

  • Autofac 是一个很好的用于 Web Api 的 Ioc。值得一试。
  • 我同意。我们选择了 StructureMap,因为其他团队正在使用它。
  • Autofac 在文档方面比结构图好得多,例如,大多数结构图示例对于版本 3 来说都是旧的和无用的。
  • 我也注意到了。

标签: asp.net-web-api structuremap structuremap3


【解决方案1】:

遗憾的是没有。

StructureMap 是为MVC 制作的,所以它显然取决于它。

你为什么坚持使用StructureMap?它所做的只是DI,在Web API 中还有许多其他选项可供选择DI,例如NinjectUnity

【讨论】:

  • 我之前已经成功使用过 Ninject 和 Autofac。由于这里的其他团队正在使用 StructureMap,这是自然的选择。也许是时候重新考虑了:)
  • 也许 StructureMap 会及时提供 Web API 版本,但在那之前,您会很遗憾地被其他一些解决方案所困。
  • 这里的答案现在可以解决吗?还是需要相同的依赖项?stackoverflow.com/questions/18896758/…
  • 依赖关系是一样的。您可以尝试自己删除参考,但谁知道呢。我仍然认为使用为 Web API 设计的解决方案会更好。
  • 好的。是的,我会改用 Autofac。
【解决方案2】:

Autofac 是 Web Api 的一个很好的 Ioc,Autofac 在文档方面比结构图好得多,大多数结构图示例对于版本 3 来说都是旧的和无用的。

  • Here,您可以找到使用 Autofac 的快速入门。
  • Here,你可以找到一个使用 Autofac 和 OWIN 的好启动。

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 1970-01-01
    • 2023-04-06
    相关资源
    最近更新 更多