1

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おり、「長期的な」コンテキストを持っていないことを非常に確信しています。

4

1 に答える 1

1

「Pooling=false」接続文字列属性を使用して接続プールをオフにすると、問題が解決したようです。

于 2010-09-23T13:23:43.613 に答える