NServicebus的Javascript消息处理程序

时间:2011-08-29 16:07:58

标签: javascript asp.net-mvc json nservicebus

我正在尝试为NServicebus创建一个javascript事件订阅者,我想知道我的想法是否有效以及此设计中是否存在任何常见的陷阱。

我打算使用以下组件:

  1. ASP.NET MVC BusController(ASyncController)

    • 从javascript客户端接收订阅,并返回某种sessionId供客户端用于进一步的通信。
    • 异步ActionMethod接收将返回json序列化的EventMessage。
    • 有一个通用的messagehandler,它会为订阅它的客户端过滤和排队事件。
  2. javascript客户端

    • 可以使用BusController的订阅操作方法
    • 订阅一个或多个事件
    • 可以通过使用收到的sessionId对BusController的Receive方法进行长轮询来接收事件。
  3. 有一些问题:

    1. 如何检测客户端何时断开连接?
      • 我考虑过一个简单的提示系统,告诉客户重新启动 与接收行动方法的连接
    2. 我担心总线控制器中通用消息处理程序的性能,处理系统中的所有消息。还有其他人有过这方面的经验吗?

1 个答案:

答案 0 :(得分:0)

你可以随时尝试一些开箱即用的东西。 http://pservicebus.codeplex.com/

它带有一个javascript api,允许你像在.net代码中那样做pub-sub。

它已编码为根据需要使用Http Streaming / Comet,并在使用不支持它的浏览器时切换到长轮询。

以下是使用javascript api pub-sub的示例。 http://pservicebus.codeplex.com/SourceControl/changeset/view/7169bd78a707#pServiceBus%201.0.2%2fSamples%2fJS%20API%20WebChat%2fScripts%2fchat.js