LinqToSqlをDALとして使用するwinformアプリがあります。中央SQLDBがあり、各ラップトップにはローカルSQLExpressDBがあります。マージレプリケーションを使用する別のモジュールは、2つの同期を維持します。中央DBへの接続が失われると、ローカルDBに「フェイルオーバー」します。これはうまくいきます。
ただし、中央データベースへの接続を取り戻すときに、期間が実際に長くない場合は、次の例外が発生します->
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
がに包まれてusing
おり、「長期的な」コンテキストを持っていないことを非常に確信しています。