C# 在ASP.NET核心中处理中止的请求
假设我有以下动作C# 在ASP.NET核心中处理中止的请求,c#,asp.net-core,C#,Asp.net Core,假设我有以下动作 public async TaskIActionResult> UploadFile() { var form = await Request.ReadFormAsync(); // do something with form contents } 它是用一个大的,比如说100MB的文件调用的 我如何处理用户取消/中止请求时发生的情况?(例如上传50MB,用户停止请求)有没有办法检测到这种情况?这是一个有效的问题吗?IIRC,在控制器上有一个Cance
public async TaskIActionResult> UploadFile()
{
var form = await Request.ReadFormAsync();
// do something with form contents
}
它是用一个大的,比如说100MB的文件调用的
我如何处理用户取消/中止请求时发生的情况?(例如上传50MB,用户停止请求)有没有办法检测到这种情况?这是一个有效的问题吗?IIRC,在
控制器上有一个CancellationToken
。Request
对象,它允许您知道请求是否已被取消。@CamiloTerevinto有HttpContext.RequestAborted
?嗯,显然这是用于服务器端触发,我想我想知道的是客户端何时断开连接。ASP.NET Core 2.0.0RequestAborted
中的OH将在客户端断开连接时触发。您可以将CancellationToken
添加到您的操作签名中,ASP.NET Core MVC将自动将其传递给您。我不确定它是否全部连接起来以响应断开的连接,但这是预期的解决方案,至少。IIRC,在控制器上有一个取消令牌
。Request
对象,它允许您知道请求是否已取消。@CamiloTerevinto有HttpContext.RequestAborted
?嗯,显然,这是针对服务器端触发的,我想我想知道的是客户端何时断开连接。噢,在ASP.NET Core 2.0.0RequestAborted
中,客户端断开连接时将触发。您可以将CancellationToken
添加到您的操作签名中,ASP.NET Core MVC将自动将其传递给您。我不确定它是否全部连接起来以响应断开的连接,但至少这是预期的解决方案。