"A transport-level error has occurred when sending the request to the server,指定的网络名不在可用"的解决办法
项目在外网服务器上运行的时候,遇到一个异常:"A transport-level error has occurred when sending the request to the server...",异常被抛出,影响到程序的正常使用.
然而,这个异常的抛出,最初搞得我一头雾水."A transport-level error",感觉应该是服务器网络传输级的错误.
有问题,百度一下.终于找到了问题的真正原因:
这个情况是通常是因为SQL Server遇到了一些Issues而不得不去刷新所有的连接,但是ADO.net仍然认为这些连接是有效的,而其实,可能在使用的过程中,某些连接早已失效。
看来问题出在SQL的连接上了.而且是过期的连接影响了正常的刷新.知道了问题的根源,解决它就是不问题了.
通过调用连接对象的ClearPoool方法来清除这些连接池是失效的连接,也可以调用SqlConnection.ClearAllPools()方法来清理所有连接的连接池.