Sql连接等待15秒,尽管连接字符串超时3秒有时,SQLserver电脑重启,导致网站无法连接数据库。如果机器启动并运行,它会快速响应。如果它已经关闭,则无需等待15秒。3秒就OK了。我想在数据库无法访问时在网站上显示一个道歉,并希望尽快完成。但是在连接字符串中设置ConnectionTimeout=3似乎没有任何效果。该页面需要等待22秒才能在SqlConnection.Open()上抛出SqlException;在SqlConnection.Open()上;。它出什么问题了?也许是一个覆盖超时的隐藏配置?目前,我的连接字符串是DataSource=...;初始目录=...;集成安全性=真;ConnectionTimeout=3如果我将其设置为...;ConnectionTimeout=3(无空格),系统.ArgumentException:不支持关键字:'connectiontimeout'。被抛出(奇怪的是,MSDN文档表明我们可以同时使用这两个字符串)。在网络硬件向网络驱动程序报告连接超时之前存在超时,网络驱动程序进而通知等待网络IO的程序。您可以通过telnetservername1433验证传输层超时(假设您的sqlserver正在侦听端口1433)。但是3秒对于初始化WebAPI(假设您的Web应用程序在其自己的应用程序池中)、发送请求和等待硬件超时的过程来说太短了。更新BIOS/固件/驱动程序可能不会缩短响应时间。最好异步执行连接。我不建议使用EndInvoke结束异步调用,因为不幸的用户可能仍然需要等待3整秒才能看到数据库关闭的任何响应。也许Ajax调用更好。如果您有很多用户经常访问您的网站,您可能希望缓存连接检查的结果并以对用户有意义的方式更新它。不带空格的ConnectionTimeout是通过代码访问时的属性名称,而不是连接字符串。不确定这是否有帮助,但是当我过去遇到这个问题时,那是因为我还需要设置SqlCommand.CommandTimeout。对我来说发生的事情是连接成功打开,然后数据库服务器关闭,然后我的下一个命令没有超时,因为我需要同时设置CommandTimeout,因此基于连接超时。下面的博文帮我解决了这个问题:http://improve.dk/controlling-sqlconnection-timeouts/以上是C#学习教程:Sqlconnectionwaits15secondsdespite3secondtimeoutintheconnectionstring我分享的内容,如果对你有用,需要多了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
