【发布时间】:2016-11-23 00:34:18
【问题描述】:
在我的 ASP.NET Core MVC 站点中,我有一个 SignalR 集线器,将我的 DbContext 注入到构造函数中。集线器从数据库中提取数据并将其发送到 kendo ui 网格以供用户查看。此数据在选择组的那个集线器中过滤(存储在数据库中)。
组选择是在集线器的上下文之外完成的。当我更改用户选择的组时,页面会重新加载以更新各种 UI 元素。当随后调用信号器集线器时,所选组仍设置为更改前的状态。经过一番挖掘,我遇到了this issue on the signalr github。我的理解是因为集线器是瞬态的,DbContext 也是如此,并且由于集线器长时间运行,DbContext 永远不会更新。
是否有一种简单的方法可以解决这个问题,同时仍然依赖注入 DbContext 或者我是否需要为每个调用创建和处理一个新的上下文?如果是这样,那么最好的方法是什么,并且仍然从appsettings.json 传递连接字符串?
编辑
我目前使用的是Microsoft.AspNetCore.SignalR.Server,而不是新的Microsoft.AspNetCore.SignalR 库。
【问题讨论】:
-
在现代
signalr core范围服务中,特别是DbContext可以像在asp.net core控制器中一样使用。看到这个answer
标签: kendo-ui signalr asp.net-core-mvc