2012-04-28 10 views
0

BizTalk Webサービスを使用するコンソールアプリケーションがあります。問題は、バルクでBizTalk Serviceオブジェクトデータを送信すると、コンソールアプリケーションが例外をスローすることです。バルクデータの送信時にアプリケーションのスロータイムアウト例外が発生する

アプリケーションがタイムアウトしているか、タイムアウトしています。

私のアプリケーションは、実際にBiztalkサービスがそのジョブの処理を完了するのを待つ必要があります。 obj.Timeoutの値を増やすことは役に立たなかった。 Thread.Sleepメソッド(これは避けたい)以外のものはありますか?以下は

は自分のアプリケーションから関連するコードスニペットです:

pumpSyncService.Timeout = 750000; 
outputRecords = pumpSyncService.PumpSynchronization(pumpRecords); 

ポンプレコードは、オブジェクトの配列を含んでいます。カウントが30の場合、正しい応答が得られますが、カウントが約150に増加すると例外が発生します。

答えて

0

ループ内で小さなチャンクを送信してみます。一度に150を送信する代わりに、30レコードを5回送信します。 150レコードを送信するには時間がかかりすぎるため、タイムアウトが発生している可能性があります。

+0

しかし、それは何度も何度も繰り返されるWebサービスを必要とします。生産台数は1000台近くに増加します...パフォーマンスの問題が発生する可能性があります。 –

+0

これは当てはまりますが、タイムアウトは高くなりますが、これは大きな習慣ではありません。 –

0

サービスで許可されている場合は、30件すべてを一度に送信できるはずです。私はあなたがこれを蹴っているイベントが5回発砲していないことを確認したと仮定しています。非同期に試して、結果が返ってくると処理してください。

+0

私は一度にすべて150を送ることができます。問題は処理に時間がかかります。私のコンソールアプリケーションはそれほど長く待たないで...どうすれば非同期に処理できますか? Webサービスが別のチームから公開されています...私はその側から何も変更できません。 –

+0

Webサービスに150行のデータを送信するのに時間がかかりすぎるため、タイムアウトが発生する可能性があります。あなたのアプリケーションは、応答を待ってそこに座っていますが、Webサービスがすべてのデータを受け取った場合にのみ応答が送信されます。 –

関連する問題