0

私のアプリケーションでは、Web サービスに接続して結果を取得する必要があります。現在、サービスへの呼び出しが非常に多いため、それは公共の財産です。サービスが障害状態になった場合にのみ、サービスを中止して終了します。私のアプリケーションは IIS 7.5 でホストされています。アプリケーションを IIS にデプロイすると、しばらくの間正常に動作します。アプリケーションがしばらく (たとえば 1 日) アイドル状態になると、次の日、サービス コール モジュールに関連するアプリケーションが動作しなくなります。

アプリケーションプールをリサイクルした場合にのみ機能します。ここで何が問題になるでしょうか?Web サービスへの呼び出しが非常に多い場合、Web サービスに接続する最良の方法は何ですか? 毎回新しいクライアントを作成する必要がありますか、それとも他の方法がありますか?

さらに説明が必要な場合は、お知らせください。

4

1 に答える 1

0

クライアント アプリケーションにタイムアウトはありますか? 最初の呼び出しだけが失敗しますか、それとも連続する呼び出しもすべて失敗しますか?

クライアントと Web サービスについても同様の状況があります。1 日の最初のユーザーがこの Web サービスを呼び出すと、基本的にタイムアウトの期限が切れたというエラーが発生することがあります。私たちが発見したのは、IIS プールがアイドル時間の後にリソースを解放し、サービスが最初の呼び出しを取得したときに、リソースをメモリなどに配置する必要があることです。この場合の主な消費者は Crystal Reports です。

最初の呼び出しが行われ、リソースが設定された後、アプリケーションは期待どおりに動作します。

于 2013-04-11T06:56:32.433 に答える