MS CRM 4.0用のC#.NET SDKを使用しています。特に、SDKのXRMインターフェイスを使用します。クライアントアプリケーションを起動すると、最初のクエリ(たとえば、すべてのcrmシステムユーザを取得)には、約5秒のオーバーヘッドが発生します。オーバヘッドは、何かがネットワーク経由で送信される前に発生します(wiresharkで観察されます)。だから私は遅延がいくつかの.NETローディングオーバーヘッドに関係していると推測しています。 MS CRM 4.0 SDK - .NETアプリケーションの初期クエリ遅延/高速化のロード
私は http://www.eggheadcafe.com/software/aspnet/31916049/the-initial-delay-when-using-the-crmservice-is-caused-by-two-things.aspxで、いくつかの説明が見つかりました:初期遅延をCrmServiceは、二つのことが原因で発生し使用した場合。最初に CrmServiceプロキシクラスを(ILからネイティブに)コンパイルする必要があり、 シリアル化をロードする必要があります。これには大量の処理が必要となります。 このコンパイルは、 のインスタンスが最初に発生し、crmserviceプロキシがAppDomainに作成されます。
第2回サーバで初めてコールが実行されたときに、追加の クラスなどがロードされる必要があります。
.NETフレームワークのこの通常の動作です。 CrmServiceのロード時間を に最適化するには、WSDLツールを使用して新しいサービスプロキシを生成し、使用しない要求とオブジェクトをすべて削除します( )。 これを行う際の問題は、これが多くの作業であることです。手動で生成されたプロキシクラスを編集することを除いて -
説明は上記の遅延を回避するために行うことができ、他のanyhingがあり、適用されると仮定すると?
私はGACとネイティブイメージを実験しました。成功しませんでした。
スタートアップの遅延を低減するための可能なアプローチのためにこれらのリンクを参照してください。未使用のエンティティ。結果として、生成された初期バインディングタイプの数とサイズが減少します。https://xrmearlyboundgenerator.codeplex.com/ – nang