SignalR v. 1.0.0 RC2를 사용하고 있었는데 정상적으로 작동했습니다. v. 1.0.1로 업그레이드 할 때 작동이 중지되었습니다. 나는 이제 허브에서 메소드를 호출하려고 할 때 403 (금단)을 얻고있다. 나는 어떤 코드도 변경하지 않았다 - 나는 단지 새로운 버전의 SignalR로 업데이트했다. AppHarbor 및 Chrome 브라우저에서만 실행할 때만 로컬에서 실행할 때 아무런 문제가 없다는 점에 유의해야합니다. IE 10과 Firefox 20에서 작동합니다.v. 1.0.1 (Chrome)으로 업데이트 한 후 AppHarbor에서 403R 신호가 발생했습니다.
나는 새로운 버전의 SignalR에서 인증 작업을 수행 한 것으로 알고 있습니다. 이제 허브에 Authorize 특성을 추가하거나 허브 메서드를 추가 할 수 있습니다. 나는 그 일을하고 싶지만, 전에는 그랬던 것처럼 - 먼저 그 일을하지 않고 일하고 싶습니다.
이
내 허브 :using System.Threading.Tasks;
using Microsoft.AspNet.SignalR;
public class ReceptionHub : Hub
{
public Task Join(string group)
{
return Groups.Add(Context.ConnectionId, group);
}
}
그리고 이것은 클라이언트 사이트 스크립트 (I 마크 업에서 데이터 속성에서 그룹을 얻을)입니다 : 내 로컬 설정 사이
$(function() {
var receptionHub = $.connection.receptionHub;
receptionHub.client.updateStatusBar = function (checkedIn, checkedOut, preRegistered)
{
$('#quantityCheckedInToday').html(checkedIn);
$('#quantityCheckedOutToday').html(checkedOut);
$('#quantityPreRegistered').html(preRegistered);
};
$.connection.hub.start().done(function() {
var group = $("#statusBar").data("group");
receptionHub.server.join(group);
});
});
한 가지 차이점 AppHarbor에 대한 설정은 HTTPS에서 AppHarbor 사이트를 실행한다는 것입니다.하지만 그 전에는 문제가되지 않았습니다. 또한 AppHarbor에서 서버의 infront로드 밸런서가 있습니다.
실패 요청이 URL에 POST 요청입니다 :
/signalr/send?transport=serverSentEvents&connectionToken=5hSSl7wSPrkD51cmPNw-JCrrdxMn2qOgEgmKt5gKrE4jigE4Sxha3gALHREcyDslqb7xjY9fP8rTMpslKuBJzBCIi-q86ZmHt66xhqi2eioAtvQCO03XlcR0Dq9-RW5G0
어떤 도움이 많이 나는 지금 SignalR 1.1.2 사용하여 시도했다