質問の下でのOPからの以下の明確なコメントに基づく:
30秒ごとに変更をチェックし、最新の認証を表示するWebアプリケーションがあります。データベースは従業員の承認を追跡しており、頻繁に更新されます。今、私はサーバーへのローカル接続があり、より頻繁に更新できるデスクトップアプリケーションを構築していますが、クライアントはアプリケーションに毎秒接続を開かせたくないので、アルド接続は数ミリ秒間開かれます。
適切な解決策はビジネスレイヤーだと思います。
アクセスに単一のデータベースユーザー(アプリケーションプールユーザーまたはWebアプリケーション内の偽装ユーザー)を使用してユーザーに代わってデータベースアクセスを実行するIISでホストされるビジネスレイヤーを構築する場合、接続プーリングにより接続数が減少します。データベースに大幅に作成されました。
これは、接続プールの仕組みと利点を詳細に説明しているMSDNの記事です。
Webレイヤーを含むすべてのクライアントは、WCFまたは.Net Remoting(.Netバージョンに応じて)を使用してビジネスレイヤーに接続し、ビジネスレイヤーはデータベースアクセスを実行する唯一のアプリケーションになります。
このアプローチの追加の利点は、DMZ内のすべてのデータベースアクセス(Webクライアントからのものを含む)を移動できるため、DMZから外部への直接のデータベースアクセスがないことです。これは、顧客にとって良いセールスポイントになる可能性があります。
このメカニズムは、非常に大規模で、セキュリティとパフォーマンスを重視するお客様に広く使用されています。
アップデート
別の方法として、ビジネスレイヤーで30秒ごとにデータベースにクエリを実行し、必要な情報を抽出して、ある種のデータベース(Access、SQL Server Expressなど)のビジネスレイヤーにローカルに保存することもできます。クライアントからのリクエストを受信すると、データベースではなくローカルデータストアからリクエストが処理されます。
これを行うには、global.asaxのApplication_Startイベントでバックグラウンドスレッドを開始するか、30秒ごとに期限切れになるキャッシュエントリを追加して、キャッシュタイムアウトイベントで作業を実行します。
これにより、接続数が30秒ごと(または時間に関係なく)に1(またはWebが変更されていない場合は2)に減少します。