2012-03-02 10 views
0

establishsecuritycontext = falseのbiztalk sendport(wcf-custom)を使用してwcfサービスにアクセスしようとしています。私のアプリケーションは80個のorchインスタンスを生成し、それらのうち2つだけが次のエラーを出し、他のすべてが正常に動作します。さらに、retrycount = 1を増やすと、2つのorchインスタンスがサービスに接続し、 2回目の試みで。biztalk wcf統合の問題

エラーメッセージ

エラー説明:System.TimeoutException:クライアントが構成されたタイムアウト(午後十二時10分00秒)以内にセキュリティネゴシエーションを完了することができません。現在の交渉レッグは1(00:10:00)です。 ; System.TimeoutException:00:10:00以降の応答を待つ間に要求チャネルがタイムアウトしました。呼び出しに渡されたタイムアウト値をRequestに増やすか、BindingでSendTimeout値を増やします。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。 System.TimeoutException: 'webservice-address'へのHTTP要求が00:10:00の割り当てられたタイムアウトを超えました。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。 ; System.Net.WebException:操作がタイムアウトしました

答えて

0

おそらく、Biztalkサーバーが同時呼び出しが多すぎるダウンストリームWCFサービスに過負荷がかかることが考えられます。

WCFサービスは、WCFサービスの処理能力(たとえば、サーバー数、アプリケーションプール内のスレッド数など)に応じて、有限数の同時接続のみを受け入れます。

迅速かつ汚いが、お勧めできません送信ポートの同時メッセージの数を減らすためのBizTalk WCFアダプターにknobsあります 。オーケストレーションが受信メッセージのバッチによってトリガされた場合は、受信アダプタの調整と、受信ホスト上のBizTalk throttling settingsの調整も参照して、吸収されるメッセージの量を減らすことができます。

シングルトン 推奨されるアプローチは、しかし、それが処理する同時メッセージの数を制限するように、彼らはメッセージボックスに積み重なるように、一般的にメッセージを相関させることにより(シングルトン、またはSeroter's 'N-ton'になるためにあなたのオーケストレーションを変更することです)。

また、WCFサービスのパフォーマンスを向上させることができます。それはデータベースを使用している場合、それはなどの物理的な送信ポート上の

+0

お返事ありがとうございました。これを試して、あなたに知らせてください.... –

0

オプションの別のカップル...

設定 Ordered Deliveryデータをフェッチした場合、インデックスのキャッシュを見て。これは、メッセージが効果的にシリアライズされるため、パフォーマンスに影響を与えますが、実際にはテストが迅速であり、状況に適したものとはならない場合があります。

論理送信ポートにDelivery Notification Transmittedを設定してDeliveryFailureExceptionをキャッチします。その後、あらかじめ定義された/構成可能な時間待機し、オーケストレーションを再試行できます。これはもう少し複雑ですが、最も柔軟性があります。

幸運を祈る!

関連する問題