我在Windows服务中托管了一个asp.net core 3.0应用程序。我在following documentation中使用了方法。如何在我的代码中检测用户登录和注销会话的更改?
我试图用OnSessionChange覆盖创建ServiceBase,但是我不知道如何启动或注册它,而且我不确定这是否有效。
我也尝试使用services.AddHostedService<IHostedService>() method
,但是在IHostedService中无法处理会话更改事件。
public static IHostBuilder CreateWebHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseWindowsService()
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<SessionChangesListener>();
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});