我正在尝试编写一个监控工具来监控一些信息它会在 azure 上正常工作。所以我将在 azure 上托管数据库,webservice 也将在 azure 上托管。
在客户端上,我从配置文件中读取了他需要多少次将信息更新到 azure 数据库(使用 azure 上的 web 服务)。
现在我还想向客户端本身发送一些命令。就像启动服务一样,....最好的方法是什么?如何从托管在 azure 平台上的网站发送它?
我正在尝试编写一个监控工具来监控一些信息它会在 azure 上正常工作。所以我将在 azure 上托管数据库,webservice 也将在 azure 上托管。
在客户端上,我从配置文件中读取了他需要多少次将信息更新到 azure 数据库(使用 azure 上的 web 服务)。
现在我还想向客户端本身发送一些命令。就像启动服务一样,....最好的方法是什么?如何从托管在 azure 平台上的网站发送它?
我认为您也应该考虑在客户端实现 WCF 服务。当需要指示客户端执行某项操作时,软件的 Azure 端可以从该服务调用操作。
客户端的 WCF 服务应该很简单,托管在 Windows 服务或您的实际客户端中(无论它是什么......赢表单、控制台等)。
由于您没有 VPN,听起来您在客户端上托管 WCF 服务可能有问题。如果客户端位于防火墙后面,您必须修改防火墙配置以允许您的服务器连接到该服务。
上次我不得不做这样的服务时,我使用了Comet。服务器维护要发送到客户端的消息队列。您的客户端连接到 Web 服务并请求任何可用的消息。如果消息可用,则服务器返回它们。如果没有,服务器将请求打开一段时间。一旦消息到达,服务器就会将它发送到已经打开的连接。客户端将定期超时/重新连接或发送保持活动消息(可能每分钟一次),以便在干预防火墙中保持连接活动。