首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从控制器事件(没有客户端请求) ASP.NET MVC 4向视图发送数据

从控制器事件(没有客户端请求) ASP.NET MVC 4向视图发送数据
EN

Stack Overflow用户
提问于 2013-07-22 17:39:49
回答 2查看 568关注 0票数 0

这个问题似乎是菜鸟,但我一直在谷歌搜索,也在这个论坛,我找不到确切的我在寻找什么。

控制器中有一个处于侦听模式的SonimMQ对象,所以当我收到一条或多条消息时,我会解析它们并希望将它们发送到我的视图(可以是一个网格或一个实时更新的图表)。是否有一种方法可以在没有客户端请求的情况下从Controller事件(在本例中是_OnReceiveData SonicMQ Event)向视图发送数据?

我知道我可以用jQuery (setTimeout)实现一个定时器来从Controller中提取数据,但我只想知道是否还有其他方法来实现这个功能。

我也读过关于jQuery .Controller的文章,但它似乎只适用于鼠标和键盘事件,而不适用于"Controller“。

我在这里找到的最接近的答案是这一个,但它使用的是jQuery setTimeout。

也许这是一个范例问题,因为我是一个桌面应用程序开发人员,我正试图解决这个问题,就像在桌面应用程序模型中一样。我刚刚开始做网络开发。所以,如果这个问题如此明显,请原谅。

我很感谢你的帮助。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-22 17:57:41

我想你想要的是网络套接字。请看这个链接所以..。ASP.NET MVC和WebSockets?

SignalR看起来是目前最好的选择。

票数 3
EN

Stack Overflow用户

发布于 2013-07-22 17:47:38

我要说的是简短的答案是不,但我需要更多的背景围绕这个问题。

你能分享一些代码吗?

我猜想SonimMQ是长时间运行的服务,在本例中是消息队列。

控制器的生存期不会超过请求(通常一次只有几秒钟)。每个请求都是从另一个请求中分离出来的(在大多数情况下,存在跨请求共享数据的方法)。

如果您正在寻找一个长期运行的进程,您可以使用一个服务,例如一个windows服务。这有点麻烦,但是您可以使用HttpCache API并设置一个超时。

桌面开发向web过渡的最困难的概念是网络的无状态。在桌面世界中,您可以根据事件存储状态和触发操作。在网络世界,情况并非如此。在很多方面,这是网络的美丽,但也是网络的诅咒,因为我们最终想要的是网络上的桌面体验。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17793918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档