经过几年的开发,我的C#/.Net程序在尝试连接到MS Sql服务器数据库时出现了这个问题。我不知道该如何解决它。只有在尝试写入特定表格时才会发生此问题。清除该表格后,我注意到此问题的发生频率有所降低,但仍然偶尔会发生;
下面是我收到的两个异常:
System.Data.SqlClient.SqlException (0x80131904):已成功建立与服务器的连接,但在预登录握手期间发生错误。(提供程序:SSL Provider,错误:0 - 等待操作超时。) ---> System.ComponentModel.Win32Exception (0x80004005):等待操作超时 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) ... at System.Data.Linq.DataQuery
1.System.Linq.IQueryProvider.Execute[S](Expression >expression) at System.Linq.Queryable.SingleOrDefault[TSource](IQueryable
1 source)
2.
System.Data.SqlClient.SqlException (0x80131904):连接超时。在尝试消耗预登录握手确认时,超时时间已过。这可能是因为预登录握手失败或服务器无法及时回应所致。尝试连接到此服务器所花费的时间为 - [Pre-Login] initialization=42511; handshake=6001; ---> System.ComponentModel.Win32Exception (0x80004005):等待操作超时 at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) ...