2016-07-25 14 views
0

私のSignalRプログラムでは、私のクライアントはサーバ側のメソッドを呼び出していました。私のグローバル変数は正しく動作していないので、すばやくテストを行いました。グローバル変数が毎回リセットされているように見えました。私は何が間違っているのか不思議でした。SignalR変数がリセットされています

JavaScriptの方法:

$.connection.hub.start().done(function() { 
      $('#send').click(function() { 
       chat.server.send(0, document.getElementById("Name").value, document.getElementById("Content").value);//send eventually calls broadcastArray 

      }); 
     }); 

ハブ方法:

どんなに私は iは常に1として返されたメソッドを呼び出した回数
int i = 0; 
    public void BroadcastArray() 
    { 
     var hubContext = GlobalHost.ConnectionManager.GetHubContext<ChatHub>(); 
     hubContext.Clients.All.broadcastArray(messageArr); 
     i = i + 1; 
    } 

は、どのように私はリセットされてからの変数が停止することができますか?ハブクラスでこれを行う方法はありますか、私は変数を別のクラスに保存しますか?私はこれについてどうやって行くのかについてはあまりよく分かりません。

答えて

1

私が最初にすることは、try/catchに入れて、その行に入る前にエラーをスローするかどうかを確認することです。あなたのハブコンテキストが適切に返されない場合、私は黙って例外をスローすることができます。

第2に、ハブは静的クラスですか?どのようにあなたのハブを設定しているのか分からずに、何がうまくいかないのかを伝えることができません。

関連する問題