Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 跨队列共享DAO。分开读/写。大众运输_Asp.net Mvc_Entity Framework_Mongodb_Messaging_Masstransit - Fatal编程技术网

Asp.net mvc 跨队列共享DAO。分开读/写。大众运输

Asp.net mvc 跨队列共享DAO。分开读/写。大众运输,asp.net-mvc,entity-framework,mongodb,messaging,masstransit,Asp.net Mvc,Entity Framework,Mongodb,Messaging,Masstransit,我了解了如何使用masstransit消息传递创建asp.net mvc应用程序 我所理解的是: asp.net mvc控制器用于隐藏事件 而响应来自通过信号器/或任何其他传输托管在单独程序集中的其他(rabbitmq)队列 每个队列(作业、数据库写入、响应)托管在单独的控制台项目/窗口中 服务 我不了解的是: 读写分离是否必要 示例使用了我仍然可以使用的mongodb。因此,即使将读写分开也不会有问题。但是,SQL Server/EF如何呢?如何跨多个程序集构建/共享db访问权限?每个队

我了解了如何使用
masstransit
消息传递创建
asp.net mvc
应用程序

我所理解的是:

  • asp.net mvc控制器
    用于隐藏事件
  • 而响应来自通过
    信号器
    /或任何其他传输托管在单独程序集中的其他(
    rabbitmq
    )队列
  • 每个队列(作业、数据库写入、响应)托管在单独的控制台项目/窗口中 服务
我不了解的是:

  • 读写分离是否必要
  • 示例使用了我仍然可以使用的
    mongodb
    。因此,即使将读写分开也不会有问题。但是,SQL Server/EF如何呢?如何跨多个程序集构建/共享db访问权限?每个队列程序集是否应该承载自己的
    DbContext

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

特别是在一开始,将读写分开并不是真正必要的。然而,当您扩大规模,并在其中混合其他关注点或增加规模时,它可能成为需要的。分解读取和写入只是对需要编写的软件进行建模的有用工具。这根本不是要求