0

MVC 5 および最新バージョンの signalr で動作するようにサーバー ソリューションを更新しましたが、2 つの大きな問題があります。

  1. 関数をオーバーライドしましたが、OnConnected呼び出されていません。
  2. クライアントへのメッセージが受信されていない、クライアントからの呼び出しが受信されている

これはクライアントコードです

define(['jquery', 'toastr', 'Q'], function($, toastr, Q) {

var incidentHubProxy;
var deferred = Q.defer();

var connect = function() {
    var connection = $.hubConnection(localStorage.url);
    $.connection.hub.logging = true;
    incidentHubProxy = connection.createHubProxy('notification');

    connection.start()
            .done(function () {
                toastr.success('Now connected, connection ID=' + connection.id);
                setInterval(function () {
                    incidentHubProxy.invoke('ping');
                }, 3000);
                deferred.resolve();
            })
            .fail(function () { toastr.error('Could not connect'); });
    incidentHubProxy.on('notify', function (data) {
        toastr.info(data.topic);
        toastr.info(data.data);
    });
    incidentHubProxy.on('pong', function (data) {
        toastr.info('got pong');
    });

    return deferred.promise;
};

var joinGroup = function (groupName) {
    incidentHubProxy.invoke('joinGroup', groupName);
};



return {
    connect: connect,
    joinGroup: joinGroup
};
});

私はそれにコードを更新しましたが、まだ動作しません

define(['jquery', 'toastr', 'Q'], function($, toastr, Q) {

var incidentHubProxy;
var deferred = Q.defer();

var connect = function() {
    var connection = $.hubConnection(localStorage.url);
    $.connection.hub.logging = true;
    incidentHubProxy = connection.createHubProxy('notification');

    incidentHubProxy.notify = function(data) {
        toastr.info(data.topic);
        toastr.info(data.data);
    };

    incidentHubProxy.pong = function(data) {
        toastr.info('got pong');
    };

    connection.start()
            .done(function () {
                toastr.success('Now connected, connection ID=' + connection.id);
                setInterval(function () {
                    incidentHubProxy.invoke('ping');
                }, 3000);
                deferred.resolve();
            })
            .fail(function () { toastr.error('Could not connect'); });


    return deferred.promise;
};

var joinGroup = function (groupName) {
    incidentHubProxy.invoke('joinGroup', groupName);
};



return {
    connect: connect,
    joinGroup: joinGroup
};

});

4

0 に答える 0