문제

사용하면 보안 예외가 발생합니다 System.Net.WebClient HTTP 요청을 수행하려면 crossdomain.xml 또는 clientaccesspolicy.xml 대상 서버에서 누락되었거나 너무 제한적입니다. 나는 이것 (쿠키 및 크로스 사이트 요청 위조)에 대한 좋은 이유가 있다는 것을 알고 있지만, 필요한 모든 것이 수행하기 때문에 내 경우에는 적용되지 않습니다. 일반 HTTP 쿠키 나 멋진 것을 사용하지 않고 임의의 URL에 대한 요청을받습니다..

나는 이미 URL을 가져올 프록시에 대한 아이디어를 생각했지만 대역폭의 낭비는 말할 것도없이 못생긴 해결 방법처럼 들립니다.

Silverlight에서 수행하는 방법은 무엇입니까? 올바른 클래스를 사용하고 있습니까?

도움이 되었습니까?

해결책

적어도 WebClient에서는 실제로 불가능하다고 생각합니다. 전체 아이디어는 클라이언트가 원치 않는 요청을 다른 서버로 제한 (보호 ...)하는 것입니다.

이를 해결하려면 웹 서버에서 "임의의 URL"을 호출하고 결과를 Silverlight 클라이언트로 전달하는 프록시 웹 서비스가 있습니다. 그렇게하면 원하는 기능을 달성하는 동안 고객이 보호를 유지합니다.

다른 팁

왜 그것을 제거하고 싶습니까?

Silverlight 요청을 프로파일하면 ... 크로스 도메인 시나리오에서는 항상 clientAccessPolicy.xml 파일을 호출합니다. 이 동작을 변경할 수 없습니다 (실버 라이트 런타임 내부). 또한 ClientAccessolicy.xml 파일을 찾지 못하면 Flash/Flex Equivelant (CrossDomain.xml)를 호출합니다. 둘 다 존재하지 않거나 해당 도메인에서 요청을 허용하지 않으면 요청이 단순히 실패합니다.

해당 XML 파일을 로컬 웹 서버에 배치 할 필요가 없도록 Httphandlers 사용에 관한 기사를 썼으며 동적으로 만들 수 있습니다. 이 기사는 여기에 있습니다.

http://silverlighthack.com/post/2008/11/08/silverlight-clientaccesspolicyxml-files-for-the-enterprise-2(part-2).aspx

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top