私はASP.NET MVC5アプリケーションに取り組んでいますが、あまり慣れていないCrmServiceClient
ので、どのアプローチが私のアプリケーションに適しているかを判断するのに助けが必要です.
アプリケーションがどのように考えられるかについての説明はほとんどありません。アプリケーションには、アプリケーションで動作するユーザー/エージェントがあります。最大の問題は、これがどのように見えるかということです。すべてのユーザー/エージェントに独自のインスタンス/接続をCrmServiceClient
作成する必要があります (すべてのユーザーは CRM の「システムユーザー」であり、資格情報を提供します)、またはCrmServiceClient
(CRM の管理者として) のインスタンス/接続を 1 つ作成し、すべての操作を行う必要があります。 .
HTTP リクエスト ベースの接続:
このアプローチではCrmServiceClient
、すべてのユーザーが行ったすべてのリクエストに対して新しいインスタンスを作成し (新しい接続を開く)、リクエストが終了したときにどのように動作するかわかりませんDispose()
。すべてのユーザーに対して新しいインスタンスを取得しますか?それとも、以前のリクエストで既に接続を確立しているユーザーに対して同じインスタンスを取得しますか?
アプリケーションの有効期間接続:
このアプローチではCrmServiceClient
、アプリケーションの起動時にインスタンス/接続を作成し、アプリケーションの有効期間全体にわたって開いたままにして、要求を行うすべてのユーザーが同じインスタンスを使用するようにします。CRM に対して開かれているインスタンス/接続は 1 つだけであるため、これは大きなパフォーマンスの問題でしょうか? しばらくすると、そのインスタンス/接続はどのように動作しますか? 自動的に閉じますか、それとも開いたままになりますか? (簡単にするために、アプリケーションを数日、数か月、数年実行する必要があるとしましょう...)