我使用 ASP.NET Core 和 Razor Pages 开始了我的第一个项目。根据客户端请求,将启动长时间运行的数据库操作。现在我想认识到,当用户离开网站时,可以取消数据库操作。
我已经尝试过使用cancelToken,但它永远不会被取消。
public async Task<JsonResult> OnPostReadAsync([DataSourceRequest] DataSourceRequest request, CancellationToken cancellationToken)
{
var messages = await _logMessageService.GetLogMessagesAsync(request, cancellationToken);
return new JsonResult(messages.ToDataSourceResult(request));
}
该函数由 Telerik Kendo UI 网格调用。你能告诉我,为什么取消令牌没有被取消,或者我还有什么其他选项来检测客户端的堕胎?
编辑1
我将令牌传递给 NpgsqlCommand 的此函数调用:
var dataReader = await command.ExecuteReaderAsync(cancellationToken);
翻翻过去那场雪
慕尼黑的夜晚无繁华
相关分类