1

winforms(.net) で開発されたアプリケーションがあり、Sql Server データベースを使用しています。
私のクライアントはアプリケーションをローカル (イントラネット) で使用し、一部のクライアントはリモートの場所から同じアプリケーションを使用します (地域の winform アプリケーションと別の地域のデータベース サーバー)。

問題は、彼らがリモートの場所から私のアプリケーションを使用しているときに、コマンドのタイムアウトが発生することがあります。
今のところ、正常に動作しているコードで commandtimeout を増やしました。しかし、このような状況でコマンドのタイムアウトを増やすことはベスト プラクティスですか?
コマンド タイムアウトには、ネットワーク チャネルでのデータの読み取り/書き込みも含まれます。(少なくともこれはmsdnで見つけたものです)データベースが遠い場所にある場合、コマンドと接続のタイムアウトを増やすのが賢明ですか?

4

1 に答える 1

0

アプリケーションに別のレイヤーが本当に必要なようです。そのため、クライアントはデータ/ビジネス ロジック レイヤーと通信し、クライアントに代わって SQL からデータを取得します。

このように、クライアントはネットワーク遅延のみに対処する必要があり、SQL コマンドのタイムアウトには対処しません。また、インターネットを介してマシンから直接来るログインに SQL サーバーを公開する必要がなくなりました。SQL ボックスと物理的に同じ場所にあるデータ層からのログインのみを許可するように構成できます。

その後、SQL を使用せずに待機時間の問題を調査できます。

于 2012-07-18T15:07:33.617 に答える