在webjob和web api之间共享域DLL?

时间:2017-05-25 17:09:14

标签: c# azure domain-driven-design microservices

我使用webjob处理消息队列和Web API来处理REST请求。 这两种具有相同有界上下文的应用程序类型之间共享域的解决方案是什么? 我可以引用相同的域DLL,还是选择不好的设计?

1 个答案:

答案 0 :(得分:1)

我建议使用以下项目设置Visual Studio解决方案:

  1. WebAPI项目
  2. 应用程序层项目
  3. WebJob项目 4 - N. [所有其他项目,如数据访问层]
  4. WebAPI和WebJob项目都引用了Application层项目。

    在Web App中,WebAPI和WebJob项目都有自己的Application层DLL副本。通过在Web应用程序上保留DLL的一个副本并在两者之间共享它(除了节省几KB的磁盘空间),没有任何好处。但它会增加部署的复杂性。

    此外,您可能在将来某个时候想要将WebJob移动到其他Web应用程序。在两者之间共享DLL的单个副本将强制您进行更改以执行此操作。