尽管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 "FullPathToMyWebsite.dll"" 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);
我在这里缺少明显的东西吗?