2014-10-28 36 views
0

在试生产和生产环境中(但不在开发中),我有一个奇怪的问题。3分钟不活动后响应时间非常长Web API

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

通常需要一秒钟才能发出特定的POST请求,但在3分钟的无活动状态之后,同一POST请求需要10-30秒。 (根据谷歌浏览器网络标签)

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

该请求使用Ajax完成。

我运行SQL分析器来查看数据库查询是否运行缓慢,但这些都表现良好,并且它看起来像POST请求只是延迟返回。所有的SQL查询都是直接执行的,当它们完成后,10到30秒内没有任何事情发生。

你们有什么想法为什么响应时间如此之高?

回答

0

问题解决了!

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

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

制作它采用异步从TheCodeKing回复这样一个问题:
How do I avoid a delay when sending email from my application?

解决了这个问题!

相关问题