我在预生产和生产环境中遇到了一个奇怪的问题(但不是在开发环境中)。
我有一个网站,在同一IIS托管的Web Api上执行一些操作。
通常,发出特定的POST请求需要不到一秒的时间,但在3分钟不活动之后,同样的POST请求将需要10-30秒。(根据谷歌chrome网络标签)
提到的POST请求不是执行的请求列表中的第一个请求。
请求是使用Ajax完成的。
我运行了SQL分析器来查看数据库查询是否运行缓慢,但这些查询都执行得很好,看起来POST请求只是延迟返回。所有的SQL查询都是直接执行的,当它们完成时,在前面提到的10-30秒内什么也不会发生。
你们知道为什么响应时间这么快吗?
发布于 2014-10-28 20:10:17
问题解决了!
问题是在请求中使用SMTPClient发送了一封电子邮件。
在web应用程序中,smtp客户端不是异步的,因此必须在POST请求返回之前发送它。
使用此问题中来自TheCodeKing的回复使其异步:
How do I avoid a delay when sending email from my application?
解决了问题!
https://stackoverflow.com/questions/26604712
复制相似问题