安装了.NET 6 SDK +托管包之后,我们的应用程序就停止了对请求的处理。
IIS设置如下:
process)
根应用程序运行良好,但子应用程序停止了对请求的处理。
在对子应用程序启用stdout日志之后,我看到请求即将出现,但第一个URL段似乎没有得到应有的处理。
这是日志:
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
Request starting HTTP/1.1 GET http://subdomain.domain.net/subapplication/ping 0
trce: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[2]
All hosts are allowed.
dbug: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[4]
The request path /ping does not match a supported file type
dbug: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[1]
Redirecting to 'https://subdomain.domain.net/subapplication/ping'.
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
Connection id "0HMDA5V61D9BR" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
Request finished in 1.2475ms 307 所发生的事情似乎是请求错过了控制器中间件,然后转到下一个: StaticFile中间件。
好像在安装.NET 6之后,子应用程序不知道它在日志中的路径名subapplication。
我试着卸载.NET 6 (+runtime+hosting包等),但没有成功。我还试图强制安装.NET 3.1,但没有成功。
为了恢复以前正确的行为,我没有想法了。
哪个参数会对子应用程序第一个URL段的处理产生这样的影响?以及如何解决这个问题?
发布于 2021-11-18 09:44:17
通过删除app.UseHttpsRedirection();中间件来解决问题。
但是我们仍然不明白安装.NET 6是如何改变一些应用程序(但不是所有应用程序)和一些IIS服务器(但不是全部)上的应用程序行为的。
https://stackoverflow.com/questions/70013706
复制相似问题