2011-09-22 80 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

相关问题