Клиентскому приложению SignalR не удается подключиться при работе в VS2008 - PullRequest
1 голос
/ 30 января 2012

У меня есть образец клиентского приложения SignalR JQuery, который почти идентичен примеру GitHub JQuery.Если я запускаю приложение через VS2008, я получаю следующую ошибку: «SignalR: соединение должно быть запущено до отправки данных. Вызовите .start () перед .send ()»

Если я запускаю клиентское приложениеиз браузера как в: http://localhost/SignalRClient, Я получаю все работает, как ожидалось.

Любые предложения о том, как я могу запустить клиент с Visual Studio?

<div>
    <script type="text/javascript">
        $(function() {
            var connection = $.connection('http://localhost/signalrserver/echo');

            connection.received(function(data) {
                $('#messages').append('<li>' + data + '</li>');
            });

            connection.start();

            $("#broadcast").click(function() {
                connection.send($('#msg').val());
            });
        });
    </script>
    <input type="text" id="msg" />
    <input type="button" id="broadcast" />
    <ul id="messages"></ul>
</div>

Спасибо.

1 Ответ

2 голосов
/ 21 марта 2012

Я тоже столкнулся с этой проблемой.Поскольку .start () является асинхронным событием, то происходит то, что вы вызываете .send () до установления соединения..start () принимает обратный вызов, который запускается, когда соединение установлено.Ваш код будет выглядеть так:

$(function() {
        var connection = $.connection('http://localhost/signalrserver/echo');

        connection.received(function(data) {
            $('#messages').append('<li>' + data + '</li>');
        });

        connection.start(function() {
            $("#broadcast").click(function() {
                connection.send($('#msg').val());
            });
        });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...