【发布时间】:2020-07-14 19:51:18
【问题描述】:
我有一个集线器,它的设置如下:
public class MainHub : Hub<IMainHub>
{
private readonly IJobManager jobManager;
public MainHub(
IJobManager jobManager)
{
this.jobManager = jobManager;
this.jobManager.JobUpdated += async (s, e) =>
{
await Clients.Group(e.Group).JobUpdate(e.Job);
};
}
]
IJobManager 是一个类,它使用SqlDependency 来监视表上的更改,并注册为单例。当未订阅 JobUpdated 事件(或未触发事件)时,集线器工作正常。
但是当事件被触发时,我得到以下异常:
无法访问已处置的对象。对象名称:'MainHub'。
为什么会出现这个错误?
如果我交换 DI,将集线器注入作业管理器(因为此类是单例),我假设集线器不会被释放。
【问题讨论】:
标签: c# asp.net-core .net-core asp.net-core-signalr