2011-09-22 79 views
-2

我有我的軟件(.NET)在客戶端上運行。我需要將更新推送給客戶端。如何在C#桌面應用程序中實現Push方法?

我認爲要實現哪些是廣播更新通知給客戶端的主服務器上運行的Web服務。對於dat,CLient必須通過網絡將其身份註冊到服務器。

服務器會發送有關更新可用性的通知。客戶端必須從服務器下載更新。

將WCF將是不錯的選擇? ..是否有可能實施? ..我知道在網絡環境中有這麼多限制。建議,歡迎...

+0

投票關閉,因爲這個問題的範圍是巨大的。有很多事情要考慮,包括繞UAC操作,服務器選擇等等。縮小你的問題範圍。 – spender

回答

0

寫它運行在客戶端上一個窗口服務,並定期檢查你的軟件的新版本的更新服務器。

0

您可以爲包含版本和應用程序加載的應用程序詳細信息的表格通過webservice檢查應用程序的版本與數據庫中的最新版本號(如果版本不同)火災錯誤方法通知客戶端存在新版本他的申請

,但我認爲從一開始有效,但您說的應用程序已經運行,所以我覺得你有這個功能添加到應用程序,並重新安裝客戶端計算機上。

檢查下列職位,它可以幫助你找到你要找的

http://www.installsite.org/cgi-bin/frames.cgi?url=http://www.installsite.org/pages/en/tt_patch.htm

Is there a standard way for .NET Winforms apps to auto-upgrade?

http://www.devx.com/dotnet/Article/10045/1763

http://www.codeproject.com/KB/install/DDayUpdate_Part1.aspx

+0

關於從服務器推送更新到客戶端而不是客戶端啓動? –

0

也許 「長輪詢」 是一個解決方案。考慮這種情況:您的客戶使用60分鐘的超時連接到服務器。如果您的服務器有更新,它會發送數據並關閉連接,導致您的客戶端重新連接並等待下一次更新。

Wikipedia: Comet (Programming)

既然你關於基礎設施和通訊我將與長輪詢着呢提供細節。下面是一個例子(先打了「WCF長輪詢」在谷歌):

Simple Long Polling in WCF - Server

+0

長輪詢是一種「黑客」,允許通過HTTP推送瀏覽器客戶端。對完全訪問網絡堆棧的桌面客戶端完全沒有必要。 – spender

+0

我跟你一起討論黑客的論點。但我們對系統設計知之甚少。也許源是一個Web服務器。我在這裏猜測,所以更多的信息會非常有用,Rajesh。 – Oli

相關問題