如何在C#桌面应用程序中实现Push方法?

时间:2011-09-22 09:33:49

标签: c#

我在客户端上运行我的软件(.NET)。我需要在可用时将更新推送到客户端。

我想实现在主服务器上运行的Web服务,该服务向客户端广播更新通知。对于dat,CLient必须通过Web将其身份注册到服务器。

服务器将发送有关更新可用性的通知。客户端必须从服务器下载更新。

WCF会不错? ..这可能实施吗? ..我知道网络环境中存在很多限制因素。欢迎提出意见......

3 个答案:

答案 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

答案 1 :(得分:0)

也许“长轮询”是一种解决方案。请考虑以下情况:您的客户端使用60分钟的超时连接到服务器。如果您的服务器有更新,它会发送数据并关闭连接,导致客户端重新连接并等待下一次更新。

Wikipedia: Comet (Programming)

由于您提供了有关基础设施和通信的详细信息,我将再次进行长时间轮询。这是一个例子(谷歌上的“WCF长轮询”的首次点击):

Simple Long Polling in WCF - Server

答案 2 :(得分:-1)

编写在客户端上运行的Windows服务,并定期检查更新服务器以获取新版本的软件。