2016-07-25 3 views
0

SignalR 프로그램을 사용하여 클라이언트에서 서버 측 메서드를 호출했습니다. 내 글로벌 변수가 올바르게 작동하지 않았기 때문에 간단한 테스트를 수행 했으므로 전역 변수가 매번 재설정되는 것처럼 보였고, 내가 잘못하고있는 부분이 궁금 해서요. 그리고 변수가 리셋되지 않도록 할 수 있는지 궁금합니다.SignalR 변수가 재설정 중임

자바 스크립트 방법 :

$.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에 넣어서 해당 줄에 도착하기 전에 오류가 발생하는지 확인하는 것입니다. 허브 컨텍스트가 제대로 반환되지 않으면 자동으로 예외를 throw 할 수 있습니다.

두 번째로 정적 클래스는 허브입니까? 허브를 어떻게 세우는 지 보지 않고 무엇이 잘못 될 수 있는지 말할 필요가 없습니다.

관련 문제