【问题标题】:Very high responsetime after 3 min inactivity Web API3 分钟不活动 Web API 后响应时间非常长
【发布时间】:2014-12-23 15:27:19
【问题描述】:

我在预生产和生产环境中遇到了一个奇怪的问题(但在开发环境中没有)。

我有一个网站,它对托管在同一 IIS 中的 Web Api 执行一些操作。

发出特定 POST 请求通常需要不到一秒钟的时间,但在 3 分钟不活动后,相同的 POST 请求将需要 10-30 秒。 (根据谷歌浏览器网络标签)

提到的 POST 请求不是执行的请求列表中的第一个请求。

请求是使用 Ajax 完成的。

我运行 SQL 分析器来查看数据库查询是否运行缓慢,但这些查询都运行良好,而且看起来 POST 请求只是延迟返回。所有 SQL 查询都会立即执行,当它们完成后,在上述 10-30 秒内没有任何反应。

你们知道为什么响应时间这么长吗?

【问题讨论】:

    标签: javascript sql ajax iis asp.net-web-api


    【解决方案1】:

    问题解决了!

    问题是在请求中使用 SMTPClient 发送了一封电子邮件。

    在 Web 应用程序中,smtp 客户端不是异步的,因此它必须在 POST 请求返回之前发送。

    在这个问题中使用 TheCodeKing 的回复使其异步:
    How do I avoid a delay when sending email from my application?

    解决了问题!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-30
      • 2021-01-23
      相关资源
      最近更新 更多