2012-04-02 11 views
0

私のアプリケーションでは、openTimeOutを1分に設定しました。サービスが停止している場合、またはサーバーが実行されていない場合は、問題が発生します。openTimeOut設定によってアプリケーションがクラッシュまたはハングする

サービスからの出力に基づいてフォームをロードする必要があります。私はフォームの内容をロードしている間にサービスを呼び出します。サーバーが停止すると、サービスのopenTimeOutまでUIがハングします。主な問題は、アプリケーションが複数のサービスを使用していて、他のサービスではタイムアウトが35秒で、それがタイムアウトした場合、アプリケーションが再起動していて、サービスがopenTimeOutモードになっているためアプリケーションがクラッシュします。

この問題の最適な解決方法は何でしょうか。

私の質問は、この条件を処理する最善の方法です - openTimeOutを減らすか、別のスレッドでサービスを呼び出します。

答えて

1

サービスを別のスレッドで呼び出すこともできます(自動生成サービスプロキシを使用している場合は、同じものになるメソッドのAsyncバージョンを切り替えることができます)。 UIスレッドは、長時間実行される操作やブロックされる操作に依存してはいけません。

OpenTimeOutの値は、アプリがハングアップしているほど顕著ではありません(これは発生しなくなるためです)。しかし、1分は接続が検出されないことを検出するためには長すぎる可能性があるため、サービスが存在する。

関連する問題