我有一个使用 LinqToSql 的 winform 应用程序,因为它是 DAL。有一个中央 SQL 数据库,每台笔记本电脑都有一个本地 SQLExpress 数据库。使用合并复制的单独模块使两者保持同步。当与中央数据库的连接丢失时,它会“故障转移”到本地。这很好用。
但是,当我重新连接到中央数据库时,如果时间段不是很长,我会收到以下异常-->
A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)
我已经阅读了与此相关的许多关于SO的帖子,甚至阅读了这篇msdn 文章,该文章非常详细地概述和解释了出了什么问题,通过所有这些,我仍然没有找到或阅读解决方案。
我想知道其他人是如何处理这个问题的。我很难相信我正在这里开辟新天地。有没有办法在重新连接时删除我的旧连接?
我为此失去了头发,所以任何见解都值得赞赏。
编辑
另外值得注意的是,我非常肯定我的所有Data Contexts
内容都包含在 a 中using
,并且我没有任何“长期”上下文。