2011-11-01 4 views
0

ASP.NET을 사용하여 빌드 된 응용 프로그램이 있으며 WCF 백 엔드와 통신하는 Silverlight 개체가 포함되어 있습니다. 그것은과 같이 설정 :크로스 도메인 오류로 인해 Silverlight가 작동하지 않습니다.

서버 1 : 서버 2

IIS7

에서 ASP.NET 웹 사이트를 호스팅 : IIS7에서 WCF 응용 프로그램을 호스팅

내 컴퓨터가 로그인 할 때 인터넷을 통해 서버 1에게 접근하려고합니다 웹 사이트에. 서버 1은 서버 2의 내부 네트워크를 통해 WCF 웹 서비스를 사용하여 사용자를 인증합니다.이 작업을 수행 할 수 있지만 실버 라이트 객체를로드하면 CrossDomain/ClientAccessPolicy 오류가 발생하여 충돌합니다. 따라서 서버 1과 2의 inetpub/wwwroot에있는 모든 폴더에이 두 파일을 넣으십시오. 하지만 여전히 같은 오류가 발생합니다.

서버 1에서 응용 프로그램을 실행하면 로컬 네트워크 IP를 통해 사이트에 연결할 수 있으며 모든 시스템이 작동하며 Visual Studio 2010에서 ASP.NET 응용 프로그램을 실행할 때도 작동합니다. 서버 2를 가리키는 웹 서비스 참조.

나는 거의 재치가 있고, 시도해 본 사람이 너무 많아서 아무도 일하지 않았다. Silverlight/WCF인지 또는 IIS를 구성하고있는 각 서버에서 IIS 구성이 잘못되었는지 확실하지 않습니다.

누구나 내가이 점에 대해 약간의 빛을 발하는 데 도움을 줄 수 있다면 크게 감사하겠습니다.

감사합니다. 스튜어트.

답변

0

내 문제로 문제가 발견되었습니다. Silverlight 애플리케이션이 방화벽에 의해 제한된 웹 서비스에 액세스하려고했기 때문에 웹 사이트와 원래 웹 서비스로 다시 라우팅 할 다른 웹 서비스를 만들어야한다는 것을 깨닫지 못했습니다.

무슨 꽃이 피었습니까!

2

한 가지 아이디어는 fiddler를 사용하여 crossdomainpolicy xml 요청을하는 요청을 찾을 수 있습니다. 그게 실패한거야? 그것을 가리키는 주소를 확인하십시오. 나는 그것을 사용하여 내 문제를 디버깅했습니다. 그것은 서버의 루트를 가리키고 내 crossdomainpolicy XML은 WCF 프로젝트 폴더에있었습니다.

+0

내 컴퓨터에서 피어 러를 사용하여 어떤 데이터가 전송되고 있는지 확인할 수 있지만 클라이언트 액세스 정책을 묻지 않는 경우 실버 라이트 애플리케이션을 호스팅하는 서버에서 피들러를 실행해야합니까? – stuartmclark

+1

crossdomainpolicy xml 또는 clientaccesspolicy xml에 대해 적어도 하나의 요청을보아야한다고 생각합니다. 피들러에서 현재 요청을 지우고 새로 실행 해보십시오. –

+0

여기가 혼란 스럽습니다. 내 컴퓨터에서 피들러를 실행하면 서버 1과 서버 2간에 어떤 요청이 이루어지고 있는지 어떻게 알 수 있습니까? 서버 1에서 피들러를 실행하려고하면 피들러를 사용하는 방법을 오해하지 않는 한 트래픽이 거의 표시되지 않습니까? – stuartmclark

관련 문제