admin管理员组

文章数量:1244318

There are lots of 'connection must be started before data can be sent' issues in here and GitHub, but I hardly find hub related problems.

$(function () {
        // Declare a proxy to reference the hub. 
        var connection = $.hubConnection('/');
        var chat = connection.createHubProxy('MyHub');

        // Start the connection.
        $.connection.hub.start().done(function () {
            console.log('Connect! connection Id=' + $.connection.hub.id);

            $('#sendmessage').click(function () {
                chat.invoke('method1','0000').done(function () {
                    console.log ('Invocation of method1 succeeded');
                }).fail(function (error) {
                    console.log('Invocation of method1 failed. Error: ' + error);
                });
            });
        })
        .fail(function(){ console.log('Could not Connect!'); });
    });

The above code gives to execute a method when user clicks the button. I can check the method works with my WPF .NET app.

I can get Connection Id successfully, but when I click the button it says 'SignalR invoke method: connection must be started before data can be sent. Call .start() before .send()' error.

What did I wrong?

There are lots of 'connection must be started before data can be sent' issues in here and GitHub, but I hardly find hub related problems.

$(function () {
        // Declare a proxy to reference the hub. 
        var connection = $.hubConnection('http://www.website/');
        var chat = connection.createHubProxy('MyHub');

        // Start the connection.
        $.connection.hub.start().done(function () {
            console.log('Connect! connection Id=' + $.connection.hub.id);

            $('#sendmessage').click(function () {
                chat.invoke('method1','0000').done(function () {
                    console.log ('Invocation of method1 succeeded');
                }).fail(function (error) {
                    console.log('Invocation of method1 failed. Error: ' + error);
                });
            });
        })
        .fail(function(){ console.log('Could not Connect!'); });
    });

The above code gives to execute a method when user clicks the button. I can check the method works with my WPF .NET app.

I can get Connection Id successfully, but when I click the button it says 'SignalR invoke method: connection must be started before data can be sent. Call .start() before .send()' error.

What did I wrong?

Share Improve this question asked Jul 3, 2013 at 10:15 YoungjaeYoungjae 25.1k19 gold badges117 silver badges203 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 10

Read tutorial carefully and it works now.

 $(function () {
        // Declare a proxy to reference the hub. 
        var connection = $.hubConnection('http://www.website/');
        var chat = connection.createHubProxy('MyHub');

        connection.start().done(function() {
            console.log('Now connected, connection ID=' + connection.id); 
            // Wire up Send button to call sendmessage on the server.
            $('#sendmessage').click(function () {
                chat.invoke('method1', '0000');
                });
            })
            .fail(function(){ console.log('Could not connect'); });;
    });

本文标签: javascriptSignalR invoke method connection must be started before data can be sentStack Overflow