1
11
看来所有造成长时间延误的案件都能解决 许多的 更快速地尝试这样的直接套接字连接:
我将使用这段代码来检查服务器是否在SQL Server端口上响应,如果响应,则只尝试打开连接。我认为(根据其他人的经验)即使在这个级别上也会有30秒的延迟,但是我得到一条消息,即机器“主动拒绝连接”了。 编辑: 如果机器不存在,它也会马上告诉我。我找不到30秒的延迟。 编辑: 网络上的机器,但没有关闭,仍然需要30秒失败,我想。不过,防火墙的机器故障更快。 编辑: 这是更新后的代码。我觉得关闭一个套接字比中止线程更干净:
|
2
3
更新2 我建议你自己滚动超时。像这样:
更新1 我刚在我自己的电脑上用以下代码测试过:
它服从
我只能建议在您的网络环境中尝试类似的代码块,看看您是否继续看到长时间超时。
旧(不正确)答案
我错误地认为
尝试设置 SqlConnection.ConnectionTimeout 而不是使用连接字符串。 |
3
0
命令超时和连接超时是两个不同的东西。 SqlConnection.ConnectionTimeout 是“等待连接打开的时间(秒)。默认值为15秒。”仅在调用sqlconnection.open()时使用。 sqlcommand.commandTimeout执行您想要执行的操作。 |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
Dansih · .Net核心自定义身份验证方案 2 年前 |
lolorekkk · 面板插入。NET WinForm 2 年前 |