2012-03-17 3 views
8

도메인간에 작동하는 기본 샘플을 얻으려고하고 있지만 작동시키지 못합니다. 누군가 https://github.com/SignalR/SignalR/issues/6에 따르면 그는 Access-Control-Allow-Origin 헤더를 추가하여 작동하도록했습니다.도메인 간의 신호 R

기본적으로 mvc 3 응용 프로그램에 허브를 추가하고 위의 헤더를 web.config에 추가 한 다음 메시지를 보낼 페이지를 만들었습니다. 이 설정은 정상적으로 작동합니다. 다음으로, 한 페이지에 동일한 클라이언트 자바 스크립트를 사용하여 다른 웹 응용 프로그램을 만들었지 만 사용하여 다른 서버에 URL을 설정했습니다

$.connection.hub.url = 'http://www.myserver.com/signalr'; 

을 즉시 나는 그것이 작동을 중지 원격 URL을 사용한다.

SignalR을 도메인 전체에서 작동 시키려면 어떻게해야합니까?

업데이트 : 일부 추가 정보는 위의 방법은 크롬과 파이어 폭스에 대한 작동하지만, IE9은 내가 간단한 테스트 프로젝트 및 Internet Explorer 9를 사용하여 작업 가지고

+0

테스트 할 브라우저는 무엇입니까? 모든 브라우저가'Access-Control-Allow-Origin' 헤더를 지원하는 것은 아닙니다. –

+0

저는 IE9와 Chrome을 사용했습니다 –

답변

9

... 그것을 좋아하지 않지만 wasn를 쉬운 일이 아니고 처음에 나는 당신이 묘사 한 것과 같은 문제에 매달렸다. 나는 당신이 거의 다 왔다고 생각하고 JavaScript에서 다음 줄을 놓치고 있다고 생각합니다 :

jQuery.support.cors = true; 

이것은 교차 도메인 호출을 수행하도록 jQuery에 지시합니다. 간단하지만, 찾기가 정말 어려웠다. ;-)

내가 지금까지이 주제에 대한 기존 정보를 찾지 못했기 때문에 나는 blog post에서 한 모든 단계를 설명했다.

더 이상 문제가 있는지 알려주십시오. Internet Explorer 9에서 작동하는 테스트 프로젝트를 보내 드리겠습니다.

+0

감사합니다. 그것은 영원히 프레임 (var $ = window.parent.jQuery가 정확하게)에 백그라운드에서 액세스 거부 예외를 던지며, 사용자는 cors를 허용하는 팝업 메시지를 받지만 메시지를 보내고받습니다! –

+0

이상한데, 팝업 메시지가 나타나지 않았습니다 ... IE 나 다른 브라우저에 있나요? 다행 이네 :-) – aKzenT

+0

이것은 실제로 IE9에 있습니다. 나는 그들이 SignalR에서 곧 공식적인 크로스 도메인 지원을 얻길 바랍니다 :) –