소프트웨어/SliverLight
Silverlight 2.0 beta2에서 바뀐 크로스 도메인 정책 (clientaccesspolicy.xml)
falconer
2008. 6. 20. 08:40
Silverlight에서 크로스 도메인 서비스(Cross Domain Services)를 하기 위해서는
요청하는 해당 디렉토리에 clientacesspolicy.xml 파일이 존재하여야 합니다.
clientaccesspolicy.xml 파일은 Silverlight 2.0 beta1에서는 아래와 같은 형식이었습니다.
그러나 똑같은 파일을 beta2에서 사용하시면 WebClient혹은 웹 서비스 참조로 사용할 경우 404 Not Found exception이 발생할 수도 있습니다.
사실 다른 구체적인 Exception이 뿌려지면 디버깅할 때 좀더 편할텐데 하필이면 404가 나오는지 의문입니다.
beta2에서는 아래와 같이 allow-from 엘레먼트에 http-request-headers 어트리뷰트를 "*" 라고 명시적으로 지정하여야 합니다.
출처 : http://hoons.kr/MetaBlog/Contents.aspx?blogIdx=1428
요청하는 해당 디렉토리에 clientacesspolicy.xml 파일이 존재하여야 합니다.
clientaccesspolicy.xml 파일은 Silverlight 2.0 beta1에서는 아래와 같은 형식이었습니다.
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from>
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
<access-policy>
<cross-domain-access>
<policy>
<allow-from>
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
그러나 똑같은 파일을 beta2에서 사용하시면 WebClient혹은 웹 서비스 참조로 사용할 경우 404 Not Found exception이 발생할 수도 있습니다.
사실 다른 구체적인 Exception이 뿌려지면 디버깅할 때 좀더 편할텐데 하필이면 404가 나오는지 의문입니다.
beta2에서는 아래와 같이 allow-from 엘레먼트에 http-request-headers 어트리뷰트를 "*" 라고 명시적으로 지정하여야 합니다.
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
출처 : http://hoons.kr/MetaBlog/Contents.aspx?blogIdx=1428