【问题标题】: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:// 来修复它。

      或者更改您的浏览器设置以使正在发生的事情更加明显,例如维瓦尔第:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-01
        相关资源
        最近更新 更多