【发布时间】:2019-06-24 15:21:57
【问题描述】:
我有一个访问 SQL Server 数据库的 .Net 应用程序(REST API)。有时当同时有许多 API 请求时,我会收到 Connection Timeout 异常,因此所有请求都失败了。情况并非总是如此,仅当有许多请求同时访问服务器时才会发生。
异常详情:
System.Data.SqlClient.SqlException (0x80131904):连接超时 已到期。尝试消费时超时时间已过 登录前握手确认。这可能是因为 登录前握手失败或服务器无法回复 时间。尝试连接到此服务器所花费的持续时间 是 - [预登录] 初始化 = 4;握手=14992; ---> System.ComponentModel.Win32Exception (0x80004005):等待操作 超时。
我们将不胜感激。
【问题讨论】:
-
您可能需要考虑连接到 SQL Server 的方式。您能否提供有关如何连接到数据库的更多信息?
-
在这种情况下可能没有什么理由。 1.您使用的是express sql server。 2. 查询之间的死锁。 3. 执行的查询超过标准超时 - 30 秒
-
docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/… 可能有用。还分析您的 SQL 服务器请求 - 可能会在非索引列数据等上发生多次选择。如果您写入数据 - 然后会启动各种锁定 ....
-
>>>登录前握手失败
标签: asp.net .net sql-server asp.net-mvc asp.net-apicontroller