문제를 해결하려고하지만 그 이유를 이해할 수 없습니다.ServiceStack 서버 측 이벤트 오류
Google 크롬에서이 오류가 발생합니다. EventSource의 응답에 "text/event-stream"이 아닌 MIME 유형 ("text/html")이 있습니다. 연결을 중단합니다.
public class Item {
public int Index { get; set; }
public int Value { get; set; }
}
public class DataRetModel {
public List<Item> Items { get; set; }
public Item Item { get; set; }
}
ServerEvents.NotifySession(user.SessionId, new DataRetModel{...init...});
감사합니다.
.........
피들러 (아이디어에 대한 감사 @mythz)를 사용하여 요청을 분석 한 후 나는 다음과 같은 발견 서버 이벤트에 대한 핸들러를 실행 2 클라이언트 브라우저가 당신 경우 하나의 브라우저에서 로그 아웃하면 다른 하나는 2 개의 이벤트를 얻게됩니다. 하나는 정상이고 다른 하나는 "EventSource의 응답은 MIME 유형입니다"(http 상태 = 401).
이제 SessionId를 보내면 두 클라이언트가 모든 이벤트를 수신하는 이유가 생깁니다.
각 사용자가 자신의 일정을 받도록 만들 수 있습니까?
var eventSource = new EventSource ('/ event-stream'); 클라이언트
처리기 : 나는 그들에게 세션 ID 보낼 경우 두 클라이언트가 모든 이벤트를 수신하는 이유
$(eventSource).handleServerEvents({
handlers: {
DataRetModel: function (data) {
console.log(data);
}
}
});
Chrome의 WebInspector 또는 Fiddler를 사용하여 캡처 할 수있는 원시 HTTP 응답을 볼 때 문제가 분명하게 드러날 수 있습니다. 질문을 업데이트하여 (예기치 않은 응답이 발생할 때 이후 질문 용으로) . – mythz