【问题标题】:ASP.net Core Application Hanging on RequestsASP.net Core 应用程序挂起请求
【发布时间】:2018-10-28 16:20:17
【问题描述】:
我们有一个运行在 .Net Framework V4.7.1 中的 ASP.net core 2.0 应用程序,使用 Kestrel 托管在 IIS 中。
该应用程序在大多数机器上运行良好,但是在我的机器上运行时它真的很慢。我已将应用程序剥离为返回字符串的单个控制器,除了 MVC 和日志记录中间件之外的所有内容都已删除。似乎在第 5 次获取请求时,在控制器操作被击中之前有大约 30 秒的挂起。应用程序没有重新启动,它只是挂起。
有人遇到过类似的问题吗?谢谢
【问题讨论】:
标签:
asp.net-core-2.0
kestrel-http-server
iis-10
【解决方案1】:
我遇到了同样的问题。Program 类中的 CreateWebHostBuilder 方法看起来像这样:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseKestrel()
.UseStartup<Startup>();
然后我意识到问题出在.UseKestrel()。Kestrel documentation 说 CreateDefaultBuilder 在幕后调用UseKestrel。所以,我删除了这个扩展方法,问题就消失了!。
【解决方案2】:
也许只是一个浏览器问题(在我的情况下是 Vivaldi),但我在 ASP.net core 3.1 中遇到了类似的“挂起”问题 - 几个请求工作,然后我更改 URL 以访问其他一些 API,它挂起(最终给出“连接已重置”错误)。
原来它试图访问http://localhost:(port),但使用的是我的 SSL 端口,这只会让它挂起。这个问题被浏览器的 URL 栏掩盖了,它没有显示协议 (http/https):
您可以在开头输入https:// 来修复它。
或者更改您的浏览器设置以使正在发生的事情更加明显,例如维瓦尔第: