Web APIプロジェクトのCRM SDKのCrmServiceClientの使用方法を理解し、理解が正しいかどうか確認したいと考えています。Web ApiプロジェクトでのCrmServiceClientの再利用または接続プーリング
CrmServiceClientが接続プーリングを実装するのは本当ですか?その場合、CrmServiceClientによって新しい接続を作成するオーバーヘッドが緩和されるため、Webリクエストごとに新しいインスタンスを作成するだけですか?
また、アプリケーション全体でCrmServiceClientのインスタンスを1つ使用する必要がありますか?私はそれがスレッドセーフではなく、最終的に接続が閉じる(私は思う)ということが私の理解であるため、これはうまくいくとは思わない。
パブリックな静的メンバーだけがスレッドセーフであると言います。 CrmServiceClientインスタンスを使用してXrmServiceContextのインスタンスを作成すると、静的でないインスタンスメンバーの一部が呼び出されることはありませんか? CrmServiceClientによって行われた接続は、一定期間休止しても終了しないか、タイムアウトしませんか?私の心配は、私が再利用すれば、接続がまだ開いているかどうかを何とか確認する必要があるかどうかです。 – tacobell
すべてのコンストラクタはスレッドセーフです。https://msdn.microsoft.com/en-gb/library/dn688177.aspx接続ステータスを確認します。https://msdn.microsoft.com/en-gb/library/dn688177 .aspx#決定 – Equalsk
私は、初期接続要求が成功したときにIsReadyがtrueに設定されていると考えます。長い時間が経過して接続が成功した後で閉じることはできませんか? – tacobell