2009. 6. 1. 10:13
개요
IIS를 이용해 실버라이트를 배포 할 때 실행이 되지 않고, xap 파일이 다운로드 되는 현상이 발생할 수 있습니다. 이때 가장 먼저 IIS의 MIME 형식에 실버라이트 관련 확장자가 등록이 되어있는지 확인 하는 것 입니다.
IIS를 열어서 MIME 형식에서 다음 3가지의 형식이 정확하게 연결이 되어 있는지 확인해보고, 없다면 추가를 해야 정상적으로 사용이 가능합니다.
.xaml application/xaml+xml
.xap application/x-silverlight-app
.xbap application/x-ms-xbap
IIS에서 MIME 확인 및 추가하기
IIS의 구조상 서버 전체에 일괄적으로 적용되는 설정과 웹 서비스 개별설정이 존재합니다. 하위 웹서비스는 서버설정을 상속받아 작동하고, 개별 웹사이트 별로 추가 설정이 가능하도록 되어 있는 구조입니다. (윈도우 시스템의 대부분이 이런 구조를 가지고 있지요.)
서버 전체 설정
첫 번째로 확인 할 부분은 상위 설정을 담당하는 서버설정입니다. IIS를 실행해서 MIME 설정을 확인(수정) 할 서버이름에서 마우스 우측버튼을 클릭하고, 팝업 메뉴에서 속성을 선택해줍니다.
등록정보 창에서 MIME 형식 버튼을 클릭합니다. MIME 형식 창에서 등록사항을 스크롤 하면서 3가지 항목을 확인 해줍니다. 만약 형식이 없다면 "새 형식" 버튼을 누른 후 하나씩 추가를 해주면 됩니다.
만약 전체 서버가 아니라 개별 서비스에 등록을 하려면 여기에 등록하지 말고 아래 개별 사이트 설정 부분을 참고해서 서비스 별로 설정을 해야 합니다.
개별 서비스 설정
개별 웹 서비스에 설정을 할 경우도 간단합니다. IIS 관리 툴에서 왼쪽 트리메뉴를 확장해 설정 할 웹사이트의 등록 정보를 열어 줍니다.
속성 창에서 상단 탭에서 "HTTP 헤더" 탭을 선택합니다. 이 탭에서도 서버설정 창과 동일하게 "MIME 형식" 버튼을 확인 할 수 있습니다. "MIME형식" 버튼을 클릭하면 위에서 봤던 "MIME 형식" 창이 뜨지만 (대부분) 등록된 항목이 없는 창이 뜨는 것을 확인 할 수 있습니다. 상위의 서버레벨의 설정을 상속받아 사용을 하기 때문에 여기에는 별도의 등록 항목이 없는 것 입니다.
이 곳에 실버라이트와 관련된 3개의 항목을 추가함으로써 개별 서비스에서 실버라이트 사용이 가능하게 됩니다.
간단하게 IIS에 MIME 설정을 하는 방법과 실버라이트 설정 시 문제점에 대한 부분을 간략하게 정리해봤습니다.
참고자료
Marketing and Silverlight, configuring cross-domain banners
Silverlight 2 RC0 에서 크로스 도메인 지원을 위한 변경사항(아파치)
[추가] web.config 파일에 등록해서 사용하는 방법도 있습니다.
Zasfe님의 "
실버라이트사용을 위한 확장자 web.config에 등록해서 사용하기"를 참고하세요.
(트랙백 주신 Zasfe님 감사합니다.^^)