AJAX请求中Azure SQL中的间歇性连接超时

时间:2015-04-24 05:44:39

标签: asp.net sql-server azure azure-sql-database

我一直在寻找在Azure ASP.NET网站的AJAX调用上间歇性地发生的这个错误,今天我终于在我们的日志中发现了它。我怀疑锁阻止了操作,但看起来它尝试连接到Azure SQL数据库失败了。

以下是异常消息:

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. 
This failure occurred while attempting to connect to the routing destination.
The duration spent while attempting to connect to the original server was -
[Pre-Login] initialization=28; handshake=43; [Login] initialization=0; authentication=0; [Post-Login] complete=2;  

这是我正在使用的连接字符串:

Server=tcp:<server>,1433;Database=<database>;User ID=<user>;Password=<password>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30

网站和Azure SQL数据库都位于同一区域。数据库的比例是标准 - S0,Azure网站是标准 - 小实例。

你们有没有遇到过这个问题?

1 个答案:

答案 0 :(得分:1)

听起来问题在于从客户端到Internet的连接。如果您在客户端JavaScript中进行Ajax调用,那么Web应用程序和数据库是否位于同一区域并不重要(至少就性能而言)。连接速度很慢会调用超时。

由于这是间歇性的,我建议在JavaScript中捕获此错误并允许客户端重试保存。