在队列之间共享DAO。单独的读/写。轨道交通

时间:2014-05-14 07:06:24

标签: asp.net-mvc entity-framework mongodb messaging masstransit

我看到example如何使用asp.net mvc消息传递创建masstransit应用程序。

我做的事情不足:

  • asp.net mvc controllers旨在推销事件;
  • 而响应来自通过rabbitmq /或任何其他传输在单独的程序集中托管的其他(SignalR)队列;
  • 每个队列(作业,数据库写入,响应)都托管在单独的控制台项目/窗口中 服务。

我不知道:

  • 是否需要分离读写?
  • 该示例使用了我仍然可以使用的mongodb。因此即使分开读写也没有问题。但是SQL Server/EF呢?您将如何跨多个程序集构建/共享数据库访问?每个队列程序集是否应该拥有自己的DbContext

1 个答案:

答案 0 :(得分:1)

如果您使用SQL Server和EF,那么每个进程都有自己的DbContext实例来访问数据库。它将是所有进程中的相同共享类型。这根本不是问题。我会在共享程序集中定义EF域。打破读写并不是一个问题。

分开读写并不是必需的,尤其是首先。但是,当您扩大规模并将其他问题混合在一起或增加规模时,可能需要它。拆分读写只是建模您需要编写的软件的有用工具。这根本不是要求。