Ext.net并行消息总线

时间:2014-08-07 12:18:40

标签: javascript asp.net-mvc-3 extjs ext.net

在使用SignalR同时调用其中两个时,我对Ext.net MessageBusListeners有一些问题。

例如,如果我在SignalR javascript函数中广播如下:

 <script>
        $(function () {
              var chat = $.connection.chatHub;
             chat.client.addNewMessageToPage = function (message) {
                console.log('publish: ' + message);
                Ext.net.Bus.publish(message, '');
            };

            // Start the connection.
            $.connection.hub.start().done(function () {
                console.log("start connection");
            });
        });
    </script>

我定义了两个带有两个不同商店的messageBusListeners,如下所示:

Store().ID("Store1").MessageBusListeners(new MessageBusListener
                     {
                              Name = "message1",
                              Fn = "myJSfunction",
                              Single = true
                     },...)

 Store().ID("Store2").MessageBusListeners( new MessageBusListener()
                     {
                             Name = "message2",
                             Handler = "Ext.Msg.notify('Notification', 'message2);"
                     })  ,...)

我通过SignalR广播两个快速呼叫,如:

Ext.net.Bus.publish("message1", '');
Ext.net.Bus.publish("message2", '');

此测试的问题是第一个MessageBusListener的“myJSfunction”将被忽略,而第二个侦听器的处理程序将被执行。 如果我更改MessageBusListeners顺序,如:

Ext.net.Bus.publish("message2", '');
Ext.net.Bus.publish("message1", '');

执行“myJSfunction”并执行第一个messageBusListener的处理程序。

此案有什么问题?我应该在许多Ext.net.Bus.publish?

之间进行同步

0 个答案:

没有答案