2012-07-07 49 views
1

我已經創建了一個.Net應用程序,該應用程序允許查詢某些Web服務器的IIS日誌。 該應用程序調用WCF服務來獲取數據。 WCF服務位置具有IIS日誌。 WCF服務內部調用IIS日誌文件上的Logparser並返回結果。 有多個IIS日誌文件。 如果我一次運行所有的logparser,則需要很長時間才能返回,因爲有大約30個巨大的IIS日誌文件被查詢。 我想逐一在這些IIS日誌上運行logparser,並逐個返回結果。如何從WCF服務中獲取逐段數據

我正在尋找一個工作在WCF上的框架,並允許從WCF服務一塊一塊地檢索數據。 所以我想獲得IISlogfile1,然後IISlogfile2,等等的結果。 否則,用戶界面將不得不等待很長時間才能一次性獲得完整結果。

你知道任何現有的框架,允許從WCF服務部分檢索數據嗎?

PS:我有的解決方法是多次調用服務,每個IIS日誌文件一次,直到它響應發送所有數據。但我正在尋找更清潔的解決方案。

+0

我目前正在WCF自學,所以請耐心等待,但是如何讓方法調用異步以避免鎖定客戶端? – 2012-07-08 10:13:46

回答

0

This question似乎與您的情況非常相關,請看Steven Cheng的答案是否可以幫助您。他的答案的要點是你可以嘗試Duplex services,服務器在完成處理每個日誌文件時可以調用客戶端。

編輯:

而且看看SignalR框架建立服務器和客戶端之間的持久連接,這樣你就可以從服務器在處理完一個發送通知(在你的情況的日誌文件) 。 An example here

0

好Souvik八宿,

我不知道這是否有助於或沒有,但你可以做到這一點的方式。

首先調用WCF服務來獲取您擁有的文件的數量。

然後在內部循環中調用帶有文件名的WCF服務,並將它們與gridview + jqgrid或一些異步調用魔法綁定。

通過這種方式,您可以在異步情況下處理和顯示數據,並且延遲時間會縮短。您的WCF服務也將減少加載。

希望我明確我的觀點。

+0

感謝您的回覆Jigar。我目前使用異步服務調用並從客戶端循環調用它們。但這不是很乾淨,我正在尋找任何可以允許這種行爲的內置框架 – 2012-07-13 06:40:52

相關問題