2013-03-03 2 views
0

그래서 SignalR 버전 .5를 사용하고 있었고 모든 것이 잘 작동했습니다. 하지만 connectionSlow 메소드를 사용하려면 버전 1로 업그레이드하려고합니다. 불행히도 내가 업그레이드했을 때 고장난 것으로 보인다. 내가 mvc 응용 프로그램을 가지고 있고 클라이언트에 데이터를 밀어 신호기를 사용하려고합니다. 나는 그 연결이 영원히 열려 있기를 바란다.메시지를받을 수 없습니다. 컨텍스트 connectionid

서버가 클라이언트에 메시지를 보내지 않습니다. LoggingPiplineModule을 사용하여 조사를 한 후에 context.Connection.Identifier가 연결된 브라우저의 connextionID가 아니라는 사실을 발견 했으므로 다른 사람에게 보내려합니다. ,

conChat = $.connection.commandcentrehub; 

// Push method for signalR, process the pushed message passed from the server 
conChat.addMessage = function (message, groupID) { 
    var call = JSON.parse(message); 
    updateTableImages($('#groupContent' + groupID), call, groupID); 
    updateTableImages($('#groupContent' + 'All'), call, 'All'); 

    applyFilter(); 
}; 

$.connection.hub.start().done(function() { 
    $('.groupID').each(function() { 
    conChat.server.joinGroup(this.id.replace("group", "")); 
}); 
}); 

그리고

내가 크롬 dev에에 오류를 얻을
protected void Application_Start() 
    { 
     AreaRegistration.RegisterAllAreas(); 

     WebApiConfig.Register(GlobalConfiguration.Configuration); 
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 

     RouteTable.Routes.MapHubs(); 
     RouteConfig.RegisterRoutes(RouteTable.Routes); 
     BundleConfig.RegisterBundles(BundleTable.Bundles); 

     GlobalHost.HubPipeline.AddModule(new LoggingPipelineModule()); 

     log4net.Config.XmlConfigurator.Configure(); 
    } 

내 Global.asax에 :

public void JoinGroup(string groupID) 
    { 
     if (!String.IsNullOrEmpty(Context.User.Identity.Name) && (!String.IsNullOrEmpty(groupID))) 
     { 
      Groups.Add(Context.ConnectionId, groupID.Trim()); 
     } 
     else 
     { 
      LoggerSingleton.Instance.Logger.Error("Error: Could not join group as user is not logged in or group is null"); 
     } 
    } 

    public void LeaveGroup(string groupID) 
    { 
     if (!String.IsNullOrEmpty(Context.User.Identity.Name) && (!String.IsNullOrEmpty(groupID))) 
     { 
      Groups.Remove(Context.ConnectionId, groupID.Trim()); 
     } 
     else 
     { 
      LoggerSingleton.Instance.Logger.Error("Error: Could not leave group as user is not logged in or group is null"); 
     } 
    } 
    public static void SendCallLog(CallLog newCall, int groupID) 
    { 
     var context = GlobalHost.ConnectionManager.GetHubContext<CommandCentreHub>(); 
     context.Clients.Group(groupID.ToString()).addMessage(CallLog.ToJson(newCall), groupID.ToString()); 
    } 

그리고 내 자바 스크립트 :

내 허브는 몇 가지 방법이있다 joingroup은 제대로 작동하지만 서버가 addMessage를 호출 할 때 나는 아무것도 얻지 못합니다.

답변

0

좋아 문제가 해결되었습니다. 내 자바 스크립트와 함께했습니다.

아래 :

conChat.addMessage = function (message, groupID) { ... 

가 있어야한다 :이 사람하는 데 도움이

conChat.client.addMessage = function (message, groupID) { 

희망 ...

관련 문제