数据库
首页 > 数据库> > NET SqlDependency如何处理连接丢失

NET SqlDependency如何处理连接丢失

作者:互联网

我需要注册SqlDependency才能观看远程SQL Server(2005)上的新数据.连接断开很可能是因为连接遍及城市和国家/地区.如何处理连接丢失?在正常模式下,我可以在.Open()上使用异常,但是仍然使用SqlDependency连接打开.

感谢您的提示.

SqlCommand command = new SqlCommand("SELECT id FROM dbo.batches WHERE terminalId = @terminalId", msConnection);

command.Parameters.AddWithValue("@terminalId", SqlDbType.Int);
command.Parameters["@terminalId"].Value = terminalId;

SqlDependency dependency = new SqlDependency(command);
dependency.OnChange += new OnChangeEventHandler(NewBatchHandler);
SqlDependency.Start(connectionString);
command.ExecuteNonQuery();

解决方法:

您可以使用重载的构造函数来减少超时,至少可以减少此问题的发生频率.这是MS知道的一个问题,不幸的是我还没有修复.

微软的派对路线是,他们知道这是一个问题,不会解决.过去,当这成为生产数据库的实际问题时,我已经基于轮询推出了自己的解决方案.

http://connect.microsoft.com/SQLServer/feedback/details/543921/sqldependency-incorrect-behaviour-after-sql-server-restarts

标签:sqldependency,c,net
来源: https://codeday.me/bug/20191201/2079581.html