ASP.NET Webページのデータプロバイダとして機能するWCF Webサービスがあります。WCFサービスクライアントの再利用
Webページ全体を通して、自動生成されたServiceClientを介してWebサービスに多数の呼び出しが行われます。
現在、私は新しいServiceClientを作成し、各ユーザーの取得、ロールの取得、顧客リストの取得などのために開きます。これらのそれぞれは新しいServiceClientを作成し、新しい接続を開きます。
私のASP.NET Webページ内のすべての関数が同じクライアントを使用できるように、ServiceClientクラスをグローバルまたは静的に使用できるクラスにできますか。これははるかに効率的に見えるでしょう。この方法で何か問題がありますか?これを行うときに考慮すべきアドバイスはありますか?
クライアントに複数のリクエストを行うとどうなりますか?おそらくそれはすべて同期ですので、私はそれに1または50の呼び出しを行うかどうかは関係ありませんか?
おかげ
これは、すべてのリクエストを1つの接続で処理するのではなく、リクエストごとに新しい接続を作成するだけですか? – Chris
私はそれが各要求のための接続を作成するとは思わない、それはそれを開く(あなたが開いて呼び出すとき)...しかし、私は100%確実ではない。私は、接続を作成することは費用がかかる部分だと思います。これは簡単にチェックすることができ、このようなシンプルなクライアントを実装し、呼び出しをタイミングする場所で2つの同一の呼び出しを行います。もし私が正しいのであれば、2回目の呼び出しははるかに速くなるはずです。 –
そして、通常あなたは**接続を永遠に開いたままにしたくない、通常の流れは開いている接続であり、電話してから閉じてください。 –