Магистральная модель от Hub в SignalR - PullRequest
0 голосов
/ 08 января 2012

Как я могу создать / преобразовать этот скрипт в модель в Backbone, которая может использовать концентраторы SignaR? Например:

<script type="text/javascript">
    $(function () {
        // Proxy created on the fly
        var chat = $.connection.chat;

        // Declare a function on the chat hub so the server can invoke it
        chat.addMessage = function (message) {
            alert("message");
        };

        // Start the connection
        $.connection.hub.start();
    });
</script>

EDIT

Я придумал это:

    window.Message = Backbone.Model.extend({
    hub: undefined,
    initialize: function () {
        this.hub = $.connection.message;
    },
    addMessage: function (message) {
        alert(message);
    },
    connect: function () {
        $.connection.hub.start();
        var messages = this.hub.getAll();//get messages
    }
});

, но это не работает из-за следующей ошибки:

эта ошибка:: 55885 Неожиданный код ответа: 200

Ответы [ 2 ]

1 голос
/ 23 января 2012

Если вы используете настройки по умолчанию, SignalR сначала попытается отправить опрос веб-сокетов на сервер.The: 55885 - это просто номер порта вашего сервера.Протокол Websockets ожидает, что код состояния ответа 101 (см. http://dev.w3.org/html5/websockets/).

. Если запущен IIS, если вы не используете Windows 8 с ASP.NET 4.5 на своем веб-сервере, он не распознает запрос веб-сокетов и (начало спекуляции) обрабатывает его как обычный запрос на получение и возвращает код состояния 200 (ОК) (конец спекуляции), который является неожиданным ответом в глазах инициатора веб-сокетов. Когда это происходит, вместо этого SignalR возвращается к длинному опросу.

Это может не отвечать на ваш вопрос, но поможет вам понять, какую ошибку вы получите (что, вероятно, не является причиной, по которой ваш код не работает)

0 голосов
/ 07 января 2013

Также ознакомьтесь с http://srtsolutions.github.com/backbone.signalr/, который представляет собой пакет Nuget для интеграции с Backbone.js / SignalR.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...