1

一部のWebサーバーのIISログを照会できる.Netアプリを作成しました。アプリはWCFサービスを呼び出してデータを取得します。WCFサービスの場所には、IISログがあります。WCFサービスは、IISログファイルでLogparserを内部的に呼び出し、結果を返します。複数のIISログファイルがあります。それらすべてに対して一度にlogparserを実行すると、クエリされる約30の巨大なIISログファイルがあるため、戻るのに長い時間がかかります。これらのIISログのそれぞれでlogparserを1つずつ実行し、結果を1つずつ返したいと思います。

WCF上で機能し、WCFサービスからのデータを1つずつ取得できるフレームワークを探しています。したがって、IISlogfile1、次にIISlogfile2などの結果を取得したいと思います。そうしないと、UIは、一度に完全な結果を得るのに非常に長い時間待機する必要があります。

WCFサービスからデータを部分的に取得できる既存のフレームワークを知っていますか?

PS:回避策は、すべてのデータが送信されたと応答するまで、IISログファイルごとに1回ずつ、サービスを複数回呼び出すことです。しかし、私はよりクリーンな解決策を探しています。

4

2 に答える 2

0

さてSouvikバス、

これが役立つかどうかはわかりませんが、この方法で行うことができます。

まず、WCFサービスを呼び出して、所有しているファイルの数を取得します。

次に、ループ内でファイル名を使用してWCFサービスを呼び出し、gridview+jqgridまたは非同期で呼び出すマジックを使用してそれらをバインドします。

このようにして、非同期で進行してデータを表示することができ、待ち時間が短くなります。WCFサービスの負荷も少なくなります。

私の主張を明確にしたいと思います。

于 2012-07-07T13:25:28.947 に答える
0

この質問はあなたのシナリオに非常に関連しているようです。StevenChengからの回答が役立つかどうかを確認してください。彼の答えの要点は、サーバーが各ログファイルの処理を完了したときにクライアントを呼び出すことができるデュプレックスサービスを試すことができるということです。

編集:

また、SignalRフレームワークを調べて、サーバーとクライアント間の永続的な接続を確立します。これにより、サーバーが処理を完了したときにサーバーから通知(この場合はログファイル)を送信できます。ここに例があります

于 2012-07-09T03:39:46.953 に答える