Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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
C# 从服务器触发的事件更新页面_C#_.net_Asp.net_Events - Fatal编程技术网

C# 从服务器触发的事件更新页面

C# 从服务器触发的事件更新页面,c#,.net,asp.net,events,C#,.net,Asp.net,Events,我正在为一个设备(比如“Prototype X”)开发这个项目,它有制造商提供的.Net API。这个API在现实世界中从设备接收到一些特殊信号时触发事件(我应该订阅)。我想要/要求做的是,在触发此事件时,使用适当的信息更新asp页面(用户看到的页面)。通过更新我的意思是,如果可能的话,也刷新用户的页面 如何在asp.net中执行此操作?您无法从服务器端触发页面更新。您必须在客户端(javascript)上使用计时器定期刷新页面(或通过AJAX获取新数据)。您无法从服务器端触发页面更新。您必须在

我正在为一个设备(比如“Prototype X”)开发这个项目,它有制造商提供的.Net API。这个API在现实世界中从设备接收到一些特殊信号时触发事件(我应该订阅)。我想要/要求做的是,在触发此事件时,使用适当的信息更新asp页面(用户看到的页面)。通过更新我的意思是,如果可能的话,也刷新用户的页面


如何在asp.net中执行此操作?

您无法从服务器端触发页面更新。您必须在客户端(javascript)上使用计时器定期刷新页面(或通过AJAX获取新数据)。

您无法从服务器端触发页面更新。您必须在客户端(javascript)上使用计时器定期刷新页面(或通过AJAX获取新数据)。

您可以使用元标记或javascript强制页面刷新。或者AJAX。

您可以使用元标记或javascript强制页面刷新。或者AJAX。

Web AP遵循请求-响应体系结构,因此您不能真正(很容易)将服务器启动的消息从客户端发送到服务器

您可以使用轮询体系结构。在最简单的情况下,您可以让页面每X秒/分钟刷新一次以检查更改。这可能有点难看


一种更为用户友好的方法可能是使用XMLHTTP对象每隔几秒钟轮询一次更改,并在检测到更改时刷新页面。您可以在服务器端创建一个HTTP处理程序,该处理程序只需记录上次更改的日期/时间,并每隔几秒钟进行一次javascript检查,当发生更改时,刷新页面。

Web AP遵循请求-响应体系结构,因此您不能真正(很容易)将服务器启动的消息从客户端发送到服务器

您可以使用轮询体系结构。在最简单的情况下,您可以让页面每X秒/分钟刷新一次以检查更改。这可能有点难看


一种更为用户友好的方法可能是使用XMLHTTP对象每隔几秒钟轮询一次更改,并在检测到更改时刷新页面。您可以在服务器端创建一个HTTP处理程序,该处理程序只需包含上次更改的日期/时间,并每隔几秒钟让javascript检查一次,当发生更改时,刷新页面。

您遇到了另一个尚未解决的问题。如果您拥有此设备的多个副本,那么您将如何将每个设备与正在使用或监视它的一个或多个用户关联

我建议您将此系统的“设备访问”部分写入Windows服务。让它维护与设备的连接、跟踪设备状态、响应事件等。让它在内存或数据库中维护关于每个设备的一组数据


web应用程序可以通过托管在Windows服务中的WCF服务与服务通信。可能有一个WCF呼叫询问是否有任何更改,另一个呼叫获取更改。第一个可以相对频繁地通过AJAX或元刷新进行调用。只有在看到更改时才会调用后者。

这里还有另一个问题尚未解决。如果您拥有此设备的多个副本,那么您将如何将每个设备与正在使用或监视它的一个或多个用户关联

我建议您将此系统的“设备访问”部分写入Windows服务。让它维护与设备的连接、跟踪设备状态、响应事件等。让它在内存或数据库中维护关于每个设备的一组数据

web应用程序可以通过托管在Windows服务中的WCF服务与服务通信。可能有一个WCF呼叫询问是否有任何更改,另一个呼叫获取更改。第一个可以相对频繁地通过AJAX或元刷新进行调用。后者只有在看到变化时才会被调用