2013-07-03 3 views
7

ここにはGitHubという問題がありますが、ハブ関連の問題はほとんどありません。SignalRの呼び出しメソッド:データを送信する前に接続を開始する必要があります

$(function() { 
     // Declare a proxy to reference the hub. 
     var connection = $.hubConnection('http://www.website.net/'); 
     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!'); }); 
    }); 

上記のコードは、ユーザーがボタンをクリックしたときにメソッドを実行します。 私のWPF .NETアプリケーションで動作するメソッドを確認できます。

接続IDは正常に取得できますが、ボタンをクリックすると 'SignalR invoke method:データを送信する前に接続を開始する必要があります。 .send() 'エラーの前に.start()を呼び出してください。

何が間違っていましたか?

答えて

7

慎重にtutorialを読んでください。

$(function() { 
     // Declare a proxy to reference the hub. 
     var connection = $.hubConnection('http://www.website.net/'); 
     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'); });; 
    }); 
+1

チュートリアルでは、接続を開始する前に接続とハブプロキシを初期化する必要があると説明していません – Raffaeu

関連する問題