单个数据上下文,许多并发请求

时间:2018-03-02 21:31:34

标签: asp.net asp.net-core entity-framework-core ef-core-2.0

实体框架只允许同时执行单个操作(我不想更改它)。因此,我必须以某种方式处理请求的并发操作。处理此类事情的标准方法是什么?是否已经内置了中间件?如果这个中间件处理给定时间段内的请求计数(例如,在请求计数和过去30秒内的5个请求时的块请求),这也许会很好。)

编辑:数字只是一个例子。

1 个答案:

答案 0 :(得分:0)

我可能没有完全理解,但我会在这里拍摄。

听起来你正试图同时处理许多类似的请求,而不必修改同一个实体。如果是这种情况,依赖注入可能是你正在寻找的。例如,您可以将上下文注入处理请求的控制器中,并且可以确保为每个请求接收新的上下文实例。这可能就是你要找的东西。

如果您希望在给定实体上处理多个并发操作而不会撕掉头发,那么像演员模型和Akka .NET这样的东西可能适合您。演员模型是一大堆进入这里,但其中一个概念是它使用邮箱并按照它们进入的顺序处理消息。所以,如果你有一个给定的实体,你可以将它放入一个演员,它将为您处理一条消息,以便使并发更容易包围。这是一项很棒的技术。