2009-06-16 41 views
0

Web参照として別のASP.NET Webサービスを使用するASP.NET C#3.5 Webアプリケーションがあります。 Webサービスは、独自のハードウェアデバイスに組み込まれています。問題は、そのデバイスが問題を抱えていて、簡単にアクセスできないことです。ロードに1分以上かかるので、私のWebアプリケーションはそれに苦しんでいます。ロードしますが、受け入れられません。Webサービスが利用できません

サービスは、try catchブロックでインスタンス化され、例外がスローされていないが、出力ウィンドウが表示されます。

型「System.Net.WebException」が最初のチャンス例外がSystem.dllのに発生しました

これを処理するにはより良い方法がありますが、私は空白を描いています。

何か助けていただければ幸いです。

更新:まだウェブサイトに影響を与えずに利用できなくなったウェブサービスをどのように処理するかについての回答を探しています。


私は例外を見つけました。これは標準の「接続できません」例外です。問題は現在タイムアウトになっています。私はSystem.Web - > Pagesプロパティのweb.configでasyncTimeoutを5000に設定しようとしました。例外をスローするのにまだ20秒かかる。何か案は?

答えて

1

単純なソリューションでは、ページ読み込み後にJavaScriptを使用してサービスをポーリングします。

0

サービスの頻度/使用状況に関する詳細はなく、コードを見ていない場合は、1つまたは2つのヒアを考えてください。

このハードウェアのウェブメソッドがエラーを出している可能性が高いので、サポートオプションがあればそれを追求しますが、クジラの場合はまずこれを試してみてください....

私はオンラインの何人かの人々は、あなたが誤って古いものを使用していないので、そのように、彼らは要求オブジェクト上に偽キープアライブを設定することによって、(そのシナリオでは)この問題を回避することができたと言ったことに気づきました(失効した)サービスへの接続。あなたは "Keep Alive"しようとしているかもしれませんが、Webサーバーがあなたとの接続をタイムアウトしました。すぐに値する...

Good Luck!

+0

表示するコードが悪いです、私は問題を知っています。サービスは利用できません。私は自分のアプリケーションに影響を与えないためにサービスをどのように扱うべきかをもっと探していました。基本的に私は利用可能なサービスを利用したいと考えています。 これで少しクリアされることを願っています。 助けてくれてありがとう –

0

上記に加えて、私はワイヤで起こっていることをよりよく理解するために、httpデバッガ(fiddler2など)を使用します。

+0

良い点は、フィドラーは素晴らしいです – curtisk

+0

フィドラーはエラーを報告していません。 –

1

"最初の例外"を見たが、例外ハンドラがそれを取得しなかった場合、例外は他の場所で処理されたことを意味します(飲み込まれたり、例外ハンドラなどで消費されました)既にその例外を処理しており、コード内でそれを心配する必要はありません。あるいは、あなたのコードのどこかに例外を飲み込んでしまったかもしれません。

ウェブリクエストでタイムアウトを使用することを検討する必要があります。

関連する問題