C# 需要实现推送通知以将消息推送到桌面客户端(而不是web/浏览器)

C# 需要实现推送通知以将消息推送到桌面客户端(而不是web/浏览器),c#,asp.net,web-services,asmx,push-notification,C#,Asp.net,Web Services,Asmx,Push Notification,我需要制作一个桌面应用程序(.NET/C#),它将驻留在系统托盘中。它的功能是从服务器接收推送通知,然后将其显示给用户。我有一个webservice(同样在.NET/C#ASMX中)运行@my server-side,它不断地轮询数据库以获取更改,因此最终我的webservice总是拥有更新/更改的数据 您能否根据我的场景建议任何现有的框架或解决方法,使我能够将推送通知从服务器发送到桌面客户端?对于我们开发的应用程序,我使用.NET远程处理来执行服务器推送 服务器作为Windows服务运行,客户

我需要制作一个桌面应用程序(.NET/C#),它将驻留在系统托盘中。它的功能是从服务器接收推送通知,然后将其显示给用户。我有一个webservice(同样在.NET/C#ASMX中)运行@my server-side,它不断地轮询数据库以获取更改,因此最终我的webservice总是拥有更新/更改的数据


您能否根据我的场景建议任何现有的框架或解决方法,使我能够将推送通知从服务器发送到桌面客户端?

对于我们开发的应用程序,我使用.NET远程处理来执行服务器推送

服务器作为Windows服务运行,客户端通过远程处理连接到服务器。一旦注册,服务器就可以将消息推送到桌面。这消除了轮询的需要


一旦用户的应用程序从服务器接收到需要刷新的消息,它就可以调用您的Web服务来获取数据。

我认为您需要的是Observer设计模式的实现。这是MSDN关于这方面的一个很好的文档。这是一个相当高级的.NET编程主题,但确实值得一看

问候,


胡斯克

嘿,jfuhr!谢谢你的快速回复:)你的想法似乎很好。但我想这会让我从头开始编写代码来实现它!是否有任何这样的已经实施和验证过的框架可用?Huske感谢您的回复:)我想这将为我工作!我能看到的唯一问题是它需要.NET Framework 4.0(最低要求),如果我选择.NET 4.0,那么我的应用程序将无法在XP SP2和以前的版本上运行。