웹 리소스는 Dynamics 365 고객 참여(온-프레미스) 데이터베이스에 저장되고 고유한 URL 주소를 사용하여 검색할 수 있는 가상 파일 입니다.
웹 리소스의 기능
웹 리소스는 Html 파일, JavaScript 및 CSS와 같은 Dynamics 365 고객 참여(온-프레미스) 웹 애플리케이션 및 여러 이미지 형식을 확장하는 데 사용할 수 있는 파일을 나타냅니다. URL 구문을 사용하여 참조할 수 있으므로 양식 사용자 지정, SiteMap애플리케이션 리본에서 웹 리소스를 사용할 수 있습니다.
웹 리소스에 대한 URL 구문을 사용하면 상대 경로 참조를 사용할 수 있습니다. 개발 도구를 사용하면 웹 리소스와 호환되는 파일 형식을 사용하여 개발 서버에서 상호 종속된 파일 그룹을 만들 수 있습니다. 그런 다음 일관된 명명 규칙 및 상대 경로 참조를 사용하는 경우 모든 파일을 Dynamics 365 Customer Engagement(온-프레미스)에 업로드한 후 웹 사이트가 작동합니다.
웹 리소스는 Dynamics 365 고객 참여(온-프레미스)에 저장되고 솔루션 구성 요소이므로 Dynamics 365 고객 참여(온-프레미스) 또는 Dynamics 365 for Customer Engagement의 온-프레미스 배포로 쉽게 내보내고 설치할 수 있습니다. 웹 리소스는 사용자의 데이터와 동기화되므로 오프라인일 때 오프라인 액세스가 있는 Microsoft Office Outlook용 Dynamics 365 사용자가 사용할 수도 있습니다.
양식 편집기를 사용하여 엔터티 양식에 양식 사용 웹 리소스를 추가하고 구성할 수 있습니다.
웹 리소스는 데이터베이스에 레코드로 저장되므로 표준 기술을 사용하여 레코드를 만들고, 검색하고, 업데이트하여 프로그래밍 방식으로 관리할 수 있습니다. 텍스트 기반 웹 리소스(JScript, CSS, XML, XSL, RESX 및 HTML)를 편집하고 애플리케이션에 저장할 수 있습니다.
웹 리소스의 제한 사항
서버에서 코드를 실행하는 ASP.NET(.aspx) 페이지의 기능을 지원하는 웹 리소스 유형은 없습니다. 웹 리소스는 브라우저에서 처리되는 정적 파일 또는 파일로 제한됩니다. 웹 리소스에는 Dynamics 365 고객 참여(온-프레미스) 데이터와 상호 작용하기 위해 웹 서비스 호출을 실행하기 위해 브라우저에서 처리되는 코드가 포함될 수 있습니다. 자세한 내용은 웹 리소스를 사용하여 고객 참여 데이터 작업을 참조하세요.
웹 리소스는 Dynamics 365 고객 참여(온-프레미스) 웹 애플리케이션 보안 컨텍스트를 사용해야만 사용할 수 있습니다. 필요한 권한이 있는 사용 허가된 Dynamics 365 Customer Engagement (on-premises) 사용자만 액세스할 수 있습니다.
크기 제한 사항
업로드할 수 있는 파일의 최대 크기는 Organization.MaxUploadFileSize 속성에 의해 결정됩니다. 이 속성은 Dynamics 365 응용 프로그램의 시스템 설정에 있는 전자 메일 탭에서 설정됩니다. 이 설정은 전자 메일 메시지, 메모 및 웹 리소스에 첨부할 수 있는 파일의 크기를 제한합니다. 기본 설정은 5MB입니다.
웹 리소스 종류
10개의 파일 형식을 사용하여 웹 리소스를 만들 수 있습니다. 다음 표에는 각 파일 형식, 허용되는 파일 확장명 및 각각에 사용하는 형식 값이 나와 있습니다.
| File | 파일 확장자 | 유형 |
|---|---|---|
| 웹 페이지(HTML) | .htm, .html | 1 |
| 스타일시트(CSS) | .css | 2 |
| 스크립트(JScript) | .js | 3 |
| 데이터(XML) | .xml | 4 |
| 이미지(PNG) | .png | 5 |
| 이미지(JPG) | .jpg | 6 |
| 이미지(GIF) | .gif | 7 |
| Silverlight(XAP) | .xap | 8 |
| StyleSheet(XSL) | .xsl, .xslt | 9 |
| 이미지(ICO) | .ico | 10 |
| 벡터 형식(SVG) | .svg | 11 |
| 문자열(RESX) | .resx | 12 |
참조 웹 리소스
웹 리소스를 참조하는 데 사용할 수 있는 몇 가지 방법이 있습니다.
비고
- 가능하면 지시문을
$webresource사용합니다. 사이트 맵 또는 리본 명령에서 지시문을 사용하는$webresource참조만 종속성을 설정합니다. 웹 리소스가 서로를 참조할 때 종속성이 생성되지 않습니다.- 엔터티 폼 또는 차트 외부에 Silverlight 웹 리소스를 표시하려면 Silverlight 웹 리소스의 호스트 페이지가 될 HTML 웹 리소스를 만듭니다. 그런 다음 $webresource: 지시문을 사용하여 HTML 웹 리소스를 엽니다.
$webresource 지시문
리본 컨트롤이나 $webresource 하위 영역에서 웹 리소스를 참조할 때는 항상 SiteMap 지시문을 사용해야 합니다. XML에서 $webresource URL 값을 허용하는 모든 위치에 지시문을 사용합니다. 다음 샘플에서는 사용하는 방법을 보여줍니다.
$webresource:<name of Web Resource>
비고
지시문을 $webresource 사용하는 경우 Dynamics 365 Customer Engagement(온-프레미스)는 솔루션 종속성을 만들거나 업데이트합니다.
Xrm.Navigation.openWebResource
Xrm.Navigation입니다. openWebResource 함수는 웹 리소스의 이름, 데이터 매개 변수에 전달할 쿼리 문자열 데이터 및 창의 높이 및 너비에 대한 정보를 전달하는 매개 변수가 있는 새 창에서 HTML 웹 리소스를 엽니다.
생성된 URL에는 캐시된 웹 리소스가 로드되도록 고유한 GUID 토큰이 포함됩니다.
상대 URL
지시문 사용을 지원하지 않는 영역에서 웹 리소스를 $webresource: 참조하는 경우 상대 URL을 사용할 수 있습니다. 이를 사용하도록 설정하려면 가상 파일 구조를 반영하는 웹 리소스에 대해 일관된 명명 규칙을 사용하는 것이 좋습니다. 솔루션 게시자의 사용자 지정 접두사는 항상 웹 리소스 이름에 대한 접두사로 포함됩니다. 이는 해당 게시자가 추가한 모든 웹 리소스에 대한 가상 "루트" 폴더를 나타낼 수 있습니다. 그런 다음 슬래시 문자(/)를 사용하여 웹 서버에서 적용할 폴더 구조를 시뮬레이션할 수 있습니다.
다른 웹 리소스에서 항상 상대 URL을 사용하여 서로를 참조해야 합니다. 예를 들어 웹 페이지 웹 리소스 new_/content/contentpage.htm 가 CSS 웹 리소스 new_/Styles/styles.css를 참조하려면 다음과 같이 링크를 만듭니다.
<link rel="stylesheet" type="text/css" href="../styles/styles.css" />
웹 페이지 웹 리소스 new_/content/contentpage.htm 가 웹 페이지 웹 리소스 isv_/foldername/dialogpage.htm를 열려면 다음과 같이 링크를 만듭니다.
<a href="../../isv_/foldername/dialogpage.htm">Dialog Page</a>
비고
WebResources 폴더를 URL의 루트 경로로 사용하는 상대 URL을 사용하지 마세요. 예를 들어 다음 /WebResources/<name of web resource>을 사용하지 마세요. 사용자가 서버에서 둘 이상의 조직에 속하는 경우 이 경로는 항상 사용자 기본 조직을 참조합니다. 사용자가 기본 조직을 사용하지 않고 예상 웹 리소스가 사용자의 기본 조직에 포함되지 않은 경우 사용자가 현재 작업 중인 조직에서 웹 리소스가 발생하더라도 "파일을 찾을 수 없음" 오류가 발생합니다.
전체 URL
다음 샘플에서는 웹 리소스를 보는 데 사용할 수 있는 URL 스타일을 보여 줍니다.
<Microsoft CRM URL>/WebResources/<name of web resource>
애플리케이션은 이 URL을 처리하고 최신 버전의 웹 리소스가 포함된 파일을 반환합니다. 이 URL은 다음과 같습니다.
<Microsoft CRM URL>/%7B<version value>%7D/WebResources/<name of web resource>
버전 값은 사용자 지정을 게시할 때 업데이트되며 브라우저에서 캐시된 최신 버전의 웹 리소스를 사용하도록 합니다. 이 때문에 웹 리소스를 위한 상대 경로, Xrm.Navigation.openWebResource 함수 또는 $webresource 지시문 (사용 가능할 때)을 사용하세요. 이렇게 하면 버전 값이 자동으로 포함됩니다. 큰 웹 리소스의 경우 캐시된 버전의 파일을 사용하지 않는 경우 성능에 상당한 영향을 미칠 수 있습니다.
다음 샘플에서는 Dynamics 365 for Customer Engagement에 대한 URL을 보여 줍니다. 여기서 MyOrganization 조직의 new_/test/test.htm 이름은 웹 리소스의 이름입니다.
https://MyOrganization.crm.dynamics.com/WebResources/new_/test/test.htm
비고
웹 리소스 이름에 '/' 문자와 파일 이름 확장명을 포함하는 것이 선택적 모범 사례입니다.
다음 샘플에서는 온-프레미스 Dynamics 365 Customer Engagement(온-프레미스)에 대한 URL을 보여 줍니다. 여기서 서버 이름은 다음과 myServer 같습니다.
https://myServer/MyOrganization/WebResources/new_/test/test.htm
Dynamics 365 for Customer Engagement 또는 온-프레미스 Dynamics 365 Customer Engagement(온-프레미스)에서 작업해야 하는 웹 리소스를 참조하는 코드를 작성할 때 getClientUrl 함수를 사용해야 합니다.
커뮤니티 툴
다음은 웹 리소스를 사용하는 몇 가지 커뮤니티 도구입니다.
| 도구 이름 | 추가 정보 |
|---|---|
| WebResourceManager | https://github.com/gotdibbs/WebResourceManager |
| XrmToolkit | https://xrmtoolkit.com/Home/Features |
| WebResources Manager | https://www.xrmtoolbox.com/plugins/MsCrmTools.WebResourcesManager/ |
비고
커뮤니티 도구는 Microsoft Dynamics의 제품이 아니며 Microsoft는 커뮤니티 도구에 대한 지원을 확장하지 않습니다. 도구와 관련된 질문이 있는 경우 도구의 게시자에 문의하세요.
참고하십시오
Dynamics 365 고객 참여를 위한 클라이언트 애플리케이션 확장 작성
접근성 있는 웹 리소스 만들기
웹 페이지(HTML) 웹 리소스
Silverlight(XAP) 웹 리소스
스크립트(JScript) 웹 리소스
이미지 웹 리소스
스타일시트(XSL) 웹 리소스
데이터(XML) 웹 리소스
CSS(스타일시트) 웹 리소스
웹 리소스 메시지 및 메서드
샘플: 데이터 매개 변수를 통해 웹 리소스에 여러 값 전달
샘플: 웹 리소스로 파일 가져오기
웹 리소스에서 웹 서비스 데이터 사용
Fiddler AutoResponder를 사용하여 웹 리소스 개발 간소화