到 ASP 应用程序 (MVC3) 的异步消息传递(ActiveMQ、MSMQ)
Posted
技术标签:
【中文标题】到 ASP 应用程序 (MVC3) 的异步消息传递(ActiveMQ、MSMQ)【英文标题】:Asynchronous messaging (ActiveMQ, MSMQ) to ASP application (MVC3) 【发布时间】:2012-01-22 08:43:40 【问题描述】:我一直在阅读有关使用 MVC3 和 SignalR 库的客户端之间的异步消息传递的文章 (http://sergiotapia.com/2011/09/signalr-with-mvc3-chat-app-build-asynchronous-real-time-持久连接网站/)
我们目前将 activemq 用于我们的一些胖客户端应用程序,并使用主题向所有人广播数据。有谁知道这种东西是否也可以在 MVC3 中使用?
我想创建一个不需要用户安装任何东西(甚至可以在手机上使用)的应用程序,但它会监控不断变化的数据。我们说的是每 2-3 秒刷新一次数据。
【问题讨论】:
【参考方案1】:如果您想与客户端(浏览器)进行异步消息传递,请使用 SignalR。 ActiveMQ 和 MSMQ 是用于胖客户端和服务器到服务器通信的技术。它们需要安装(MSMQ 需要安装 Windows),并且无法从浏览器访问(我可以想象通过 ActiveX 或 Java 小程序中的 ActiveMQ 访问 MSMQ,但这不是您想要的)。
【讨论】:
我想我不知道 SignalR 消息传递与 ActiveMQ 的限制是什么。让它全部访问 Web 服务器而不是显式服务感觉很奇怪。来自一个专门使用完整的 .net 桌面应用程序和 Windows 服务的人,我还不太了解 Web 应用程序的陷阱。 只是指出 ActiveMQ 有一个适用于 javascript 的 REST API activemq.apache.org/rest.html【参考方案2】:其中一种可能的方法是构建一个 Web 服务,该服务将通过其 API 实现与 AMQ/MSMQ 的通信,并从您的网页(例如通过 ajax 调用)轮询该 Web 服务以根据需要刷新数据.
【讨论】:
以上是关于到 ASP 应用程序 (MVC3) 的异步消息传递(ActiveMQ、MSMQ)的主要内容,如果未能解决你的问题,请参考以下文章
在 ASP.NET MVC3 中正确使用 TempData?
将自定义 ValueProviderFactories 添加到 ASP.NET MVC3?
IIS 上的 ASP.NET MVC3 和 Windows Auth 不断重定向到 /Account/Login
ASP.NET MVC3 如何通过跨 Action 调用共享单个 AsyncManager 实例来避免多线程错误?