2014-09-05 26 views
0

我有一個特殊的服務不斷從現場24/7輸出更新。由於它使用推送機制和專有的,它需要其相應的專用客戶端來接收更新。我不確定這是否是正確的方法,但我被要求編寫一個WCF服務,將接收到的數據作爲JSON中的Web服務公開。我在想的是編寫一個Web服務包裝一個不斷運行的進程,在內存中接收更新和緩存更新,並且每當我的Web服務被調用時,我都會將緩存的數據返回到JSON中。如何使用WCF作爲網橋或包裝?

據我所知,ServiceHost不是一直在運行。相反,當有人遇到該服務時它會被激活。這並不理想,因爲我們需要接收所有數據(或至少X天的數據)。

我也歡迎任何不同的方法,如果目前的一個聽起來很愚蠢。

fredell

回答

0

WCF支持self-hosting,這基本上可以讓你做任何你想要的。

您可以編寫託管WCF服務的Windows服務應用程序。 Windows服務將持續運行並接收專有推送通知,並且託管在內的WCF服務將允許您訪問收到的數據。

這種方法對我來說似乎很好,但要小心內存耗盡:或許你想在一些時間序列數據庫中保存接收到的數據,所以如果你的服務崩潰,它不會丟失 - 而且你的服務不會如果沒有人通過WCF實際輪詢數據,則不會消耗大量內存。