2014-05-14 21 views
0

我看到example如何使用masstransit消息创建asp.net mvc应用程序。跨队列共享DAO。单独的读取/写入。 masstransit

我做什么undersatnd:

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

我不undersatnd什么:

  • 读取和写入的分离是否有必要?
  • 该示例使用mongodb我仍然可以使用。所以即使分离读取和写入也没有问题。但是SQL Server/EF呢?你将如何在多个程序集中构建/共享数据库访问?每个队列组件都应该拥有自己的DbContext

回答

1

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

破解读写操作并不是必须的,尤其是,首先。但是,随着您的扩大和其他问题的混合或额外的规模,它可能会变得很有必要。分开读取和写入只是建模您需要编写的软件的有用工具。这根本不是要求。