1

双方向の WCF-BasicHttp 送信ポートを使用して WCF サービスを呼び出すオーケストレーションがあります。テスト目的で、私の WCF サービスはパラメーターを取り、値を返すだけなので、時間のかかるロジックがないことがわかります。実際、WCFTestClient クライアント ツールを使用すると、WCF サービスの呼び出しに数ミリ秒しかかからないことがわかっています。

オーケストレーションで WCF サービスを呼び出すと、送信シェイプに約 7 秒かかり、受信シェイプにもほぼ同じ時間がかかります。たとえば、オーケストレーションに費やされた時間は 15 秒で、wcf サービスの送受信シェイプはその 90 秒を占めています。

考えられる唯一のことは、ホストのポーリング設定がうまくいかなかったことです。3 つのホストがあり、1 つは送信ポート用、1 つは受信ポート用、もう 1 つはオーケストレーション用です。それぞれがデフォルト構成で構成されています。

さらに、送信ポートのオープン、送信、およびクローズのタイムアウト設定は、それぞれ 5、4、および 3 秒です。どちらの操作もタイムアウトしていません。問題は wcf サービス自体にあるのではなく、BizTalk または BizTalk ソリューションにあると確信しています。

以下の画像では、sndGetDemographics と recGetDemographicsResponse が完了するまでにそれぞれ約 7 秒かかることに注意してください。 オーケストレーション時間

関連するオーケストレーション シェイプ

4

2 に答える 2

1

私は自分の問題を発見しました。他のさまざまなコンポーネントがかなり詳細にイベント ログに書き込んでいたため、以前はこれに気づきませんでしたが、BizTalk がホスト インスタンスの一部 (受信用、送信用、オーケストレーション用の 3 つ) を調整していたようです。他の何かの副作用。

テスト目的で、ファイルアダプターを使用して送信ポートを作成し、受信したメッセージをディレクトリに出力しました。ファイルの量が増えると、ファイル システムの動作が非常に遅くなり、送信ポート インスタンスに非常に長い時間がかかり、場合によっては中断されました。これにより、メッセージ ボックスが大きくなりました。BizTalk は成長を見て、ホスト インスタンスを抑制してメッセージを発行する速度を遅くすることにしました。これが、wcf サービス コールの送受信シェイプに時間がかかっていた理由を説明しています。

このレッスンでは、BizTalk の調整についてかなりのことを学びました。さらに、送信ポートでファイル アダプタを使用する場合は、十分に注意し、論争に注意してください。

于 2013-12-17T23:18:40.383 に答える