这个问题似乎是菜鸟,但我一直在谷歌搜索,也在这个论坛,我找不到确切的我在寻找什么。
控制器中有一个处于侦听模式的SonimMQ对象,所以当我收到一条或多条消息时,我会解析它们并希望将它们发送到我的视图(可以是一个网格或一个实时更新的图表)。是否有一种方法可以在没有客户端请求的情况下从Controller事件(在本例中是_OnReceiveData SonicMQ Event)向视图发送数据?
我知道我可以用jQuery (setTimeout)实现一个定时器来从Controller中提取数据,但我只想知道是否还有其他方法来实现这个功能。
我也读过关于jQuery .Controller的文章,但它似乎只适用于鼠标和键盘事件,而不适用于"Controller“。
我在这里找到的最接近的答案是这一个,但它使用的是jQuery setTimeout。
也许这是一个范例问题,因为我是一个桌面应用程序开发人员,我正试图解决这个问题,就像在桌面应用程序模型中一样。我刚刚开始做网络开发。所以,如果这个问题如此明显,请原谅。
我很感谢你的帮助。谢谢!
发布于 2013-07-22 17:57:41
我想你想要的是网络套接字。请看这个链接所以..。ASP.NET MVC和WebSockets?
SignalR看起来是目前最好的选择。
发布于 2013-07-22 17:47:38
我要说的是简短的答案是不,但我需要更多的背景围绕这个问题。
你能分享一些代码吗?
我猜想SonimMQ是长时间运行的服务,在本例中是消息队列。
控制器的生存期不会超过请求(通常一次只有几秒钟)。每个请求都是从另一个请求中分离出来的(在大多数情况下,存在跨请求共享数据的方法)。
如果您正在寻找一个长期运行的进程,您可以使用一个服务,例如一个windows服务。这有点麻烦,但是您可以使用HttpCache API并设置一个超时。
桌面开发向web过渡的最困难的概念是网络的无状态。在桌面世界中,您可以根据事件存储状态和触发操作。在网络世界,情况并非如此。在很多方面,这是网络的美丽,但也是网络的诅咒,因为我们最终想要的是网络上的桌面体验。
https://stackoverflow.com/questions/17793918
复制相似问题