Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 一般来说,如何实现实时监控系统?_Asp.net_Silverlight_Wcf_Azure_Real Time - Fatal编程技术网

Asp.net 一般来说,如何实现实时监控系统?

Asp.net 一般来说,如何实现实时监控系统?,asp.net,silverlight,wcf,azure,real-time,Asp.net,Silverlight,Wcf,Azure,Real Time,假设我有一个显示结果的ASP.NET或一个Silverlight客户端。我想显示我的服务器或嵌入式设备的当前状态。假设设备读取温度和湿度统计数据 如何将状态信息从设备发送到前端?我是否应该轮询设备并将结果保存到SQL、Azure表或类似文件?Azure是一种基于其他原因适合此项目的技术。这就是我提到它的原因 或者我应该创建一个直接轮询设备并返回当前状态的WCF服务 什么更有意义?在ASP.NET或Silverlight中,您必须从客户端网页或Silverlight应用程序到后端进行轮询,以获取当

假设我有一个显示结果的ASP.NET或一个Silverlight客户端。我想显示我的服务器或嵌入式设备的当前状态。假设设备读取温度和湿度统计数据

如何将状态信息从设备发送到前端?我是否应该轮询设备并将结果保存到SQL、Azure表或类似文件?Azure是一种基于其他原因适合此项目的技术。这就是我提到它的原因

或者我应该创建一个直接轮询设备并返回当前状态的WCF服务


什么更有意义?

在ASP.NET或Silverlight中,您必须从客户端网页或Silverlight应用程序到后端进行轮询,以获取当前状态。在ASP.NET中,我将研究如何通过使用Javascipt对服务进行AJAX轮询,以及如何使用Jquery或类似的工具来简化这一过程


在silverlight中,您需要配置某种服务来返回结果,并使用在单独线程上运行的计时器控件进行轮询。

您也可以在silverlight应用程序中使用推送绑定。基本上,服务器不会手动轮询服务器,而是在认为有必要让客户端知道任何更改时,随时向您发送推送通知。

使用ASP.NET,我建议使用PageMethods。考虑到所有因素,代码更简单。后端应该是什么?设备本身,或者像SQL?PageMethods这样的中间人是另一种选择,但是使用Jquery和ASP.NET编写一个简单的web服务并不是那么难。web服务的优点是,如果需要,它也可以被其他程序调用,例如,如果你想制作一个移动应用程序。后端实际上取决于问题的具体性质。如果您想记录历史数据以供以后分析,SQL或Azure将是最好的选择。如果你只需要一个即时读数,点击设备就可以了。至于选择哪种方法,答案实际上在很大程度上取决于轮询的设备类型以及数据将用于什么,这是HTTPDuplex绑定吗?我记得我读过一篇文章,说这是服务器上一个非常不可伸缩的选项。它适用于Silverlight 3.x,但不确定现在是否仍然适用