ASP.NET Core MVC 2.2进程内托管-请求中止CancellationToken不起作用

时间:2019-01-07 16:01:51

标签: asp.net-core-mvc httprequest cancellation-token asp.net-core-2.2

尽管Microsoft blog post (ASP.NET Core Module section)声明了什么,但是当长时间运行XHR请求时,我无法使用AspNetCoreModuleV2配置IIS进程内托管来将HttpContext.RequestAborted属性IsCancellationRequested设置为true通过abort()函数从Web浏览器中退出。

XHR请求在浏览器侧被取消,并且在Chrome的“网络”标签中清晰可见,但是控制器操作中的CancellationToken(也没有HttpContext.RequestAborted)从未将IsCancellationRequested属性设置为{{ 1}}。

WebSite true文件包含属性:

*.csproj

<TargetFramework>netcoreapp2.2</TargetFramework> <AspNetCoreHostingModel>inprocess</AspNetCoreHostingModel> 似乎也是正确的:

Web.config

<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" /> </handlers> <aspNetCore processPath="C:\Program Files\dotnet\dotnet.exe" arguments="exec &quot;FullPathToMyWebsite.dll&quot;" stdoutLogEnabled="false" hostingModel="InProcess"> <environmentVariables> <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" /> </environmentVariables> </aspNetCore> </system.webServer> </configuration> 的兼容版本设置为2.2:

services.AddMvc

按照文档中的建议使用默认值构建主机:

.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

我在这里缺少明显的东西吗?

0 个答案:

没有答案