Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET核心中处理中止的请求_C#_Asp.net Core - Fatal编程技术网

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.0
RequestAborted
中的OH将在客户端断开连接时触发。您可以将
CancellationToken
添加到您的操作签名中,ASP.NET Core MVC将自动将其传递给您。我不确定它是否全部连接起来以响应断开的连接,但这是预期的解决方案,至少。IIRC,在
控制器上有一个
取消令牌
。Request
对象,它允许您知道请求是否已取消。@CamiloTerevinto有
HttpContext.RequestAborted
?嗯,显然,这是针对服务器端触发的,我想我想知道的是客户端何时断开连接。噢,在ASP.NET Core 2.0.0
RequestAborted
中,客户端断开连接时将触发。您可以将
CancellationToken
添加到您的操作签名中,ASP.NET Core MVC将自动将其传递给您。我不确定它是否全部连接起来以响应断开的连接,但至少这是预期的解决方案。