ASP.net核心应用程序挂在请求上

时间:2018-05-18 09:07:47

标签: asp.net-core-2.0 kestrel-http-server iis-10

我们在使用Kestrel在IIS中托管的.Net Framework V4.7.1中运行ASP.net核心2.0应用程序。

该应用程序在大多数计算机上运行正常,但是在我的计算机上运行时它非常慢。我已经将应用程序剥离到单个控制器返回一个字符串,除了MVC和记录中间件之外的其他所有内容都被删除了。似乎在大约第5次获取请求时,在控制器动作被击中之前有大约30秒的挂起。应用程序没有重新启动,它只是挂起。

有没有人有类似的问题?感谢

2 个答案:

答案 0 :(得分:1)

也许只是浏览器问题(在我的情况下为Vivaldi),但是我在ASP.net core 3.1中遇到了类似的“挂起”问题-几个请求正常工作,然后我更改了URL使其打入了其他一些API,但挂起了(最终给出“连接已重置”错误)。

原来它试图打http://localhost:(port),但是用我的 SSL 端口,这使其挂起。该问题被浏览器的URL栏掩盖,该URL栏未显示协议(http / https):

Vivaldi URL Bar

您可以在开始时输入https://来解决它。

或更改您的浏览器设置,使其更清楚地显示正在发生的事情,例如维瓦尔第:

enter image description here

答案 1 :(得分:0)

我遇到了同样的问题。CreateWebHostBuilder类中的Program方法看起来像这样:

 public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseKestrel()
                .UseStartup<Startup>();

然后我意识到问题出在.UseKestrel()Kestrel documentation说CreateDefaultBuilder在幕后调用UseKestrel。因此,我删除了此扩展方法,问题就解决了!。