WebDAV Lock Store 정의 <lockStores>
개요
WebDAV 모듈은 컬렉션에 webdav/globalSettings/lockStores
정의된 여러 잠금 저장소 공급자를 지원하도록 설계되었습니다. 일련의 <add>
요소는 컬렉션의 각 잠금 공급자에 <lockStores>
대한 설정을 정의합니다.
참고
현재 유일한 속성 저장소 공급자는 webDAV 잠금을 메모리에 저장하는 webdav_simple_lock. 이 공급자는 메모리에 잠금을 저장하기 때문에 IIS 또는 애플리케이션 풀이 다시 시작될 때 잠금이 자동으로 해제됩니다.
호환성
버전 | 참고 |
---|---|
IIS 10.0 | <lockStores> 요소가 IIS 10.0에서 수정되지 않았습니다. |
IIS 8.5 | <lockStores> 요소가 IIS 8.5에서 수정되지 않았습니다. |
IIS 8.0 | <lockStores> 요소가 IIS 8.0에서 수정되지 않았습니다. |
IIS 7.5 | 요소는 <lockStores> IIS 7.5의 기능으로 제공됩니다. |
IIS 7.0 | 요소는 <lockStores> IIS 7.0에 대한 별도의 다운로드의 일부로 WebDAV 7.5에 도입되었습니다. |
IIS 6.0 | 해당 없음 |
참고
요소는 <lockStores>
WebDAV 7.0 스키마에 정의되었지만 WebDAV 잠금이 해당 버전에서 구현되지 않았기 때문에 무시되었습니다.
참고
WebDAV 7.0 및 WebDAV 7.5 모듈은 IIS 7.0용 대역 외로 제공되었으며, 다음 URL에서 모듈을 다운로드하고 설치해야 했습니다.
Windows 7 및 Windows Server 2008 R2에서는 WebDAV 7.5 모듈이 IIS 7.5용 기능으로 제공되므로 WebDAV를 다운로드할 필요가 없습니다.
설치 프로그램
웹 서버에 대한 WebDAV 게시를 지원하려면 WebDAV 모듈을 설치해야 합니다. 이렇게 하려면 다음 단계를 수행합니다.
Windows Server 2012 또는 Windows Server 2012 R2
- 작업 표시줄에서 서버 관리자를 클릭합니다.
- 서버 관리자관리 메뉴를 클릭한 다음 역할 및 기능 추가를 클릭합니다.
- 역할 및 기능 추가 마법사에서 다음을 클릭합니다. 설치 유형을 선택하고 다음을 클릭합니다. 대상 서버를 선택하고 다음을 클릭합니다.
- 서버 역할 페이지에서 웹 서버(IIS)를 확장하고, 웹 서버를 확장하고, 일반적인 HTTP 기능을 확장한 다음, WebDAV 게시를 선택합니다. 다음을 클릭합니다.
- 기능 선택 페이지에서 다음을 클릭합니다.
- 설치 선택 확인 페이지에서 설치를 클릭합니다.
- Results(결과) 페이지에서 Close(닫기)를 클릭합니다.
Windows 8 또는 Windows 8.1
- 시작 화면에서 포인터를 왼쪽 아래 모서리로 이동하고 시작 단추를 마우스 오른쪽 단추로 클릭한 다음 제어판 클릭합니다.
- 제어판프로그램 및 기능을 클릭한 다음 Windows 기능 켜기 또는 끄기를 클릭합니다.
- 인터넷 정보 서비스를 확장하고, World Wide Web Services를 확장하고, 일반적인 HTTP 기능을 확장한 다음, WebDAV 게시를 선택합니다.
- 확인을 클릭합니다.
- 닫기를 클릭합니다.
Windows Server 2008 R2
- 작업 표시줄에서 시작을 클릭하고 관리 도구를 가리킨 다음 서버 관리자 클릭합니다.
- 서버 관리자 계층 구조 창에서 역할을 확장한 다음 웹 서버(IIS)를 클릭합니다.
- 웹 서버(IIS) 창에서 Role Services 섹션으로 스크롤한 다음 역할 서비스 추가를 클릭합니다.
- 역할 서비스 추가 마법사의 역할 서비스 선택 페이지에서 일반적인 HTTP 기능을 확장하고 WebDAV 게시를 선택한 다음 다음을 클릭합니다.
- 설치 선택 확인 페이지에서 설치를 클릭합니다.
- Results(결과) 페이지에서 Close(닫기)를 클릭합니다.
Windows 7
- 작업 표시줄에서 시작을 클릭한 다음 제어판 클릭합니다.
- 제어판프로그램 및 기능을 클릭한 다음 Windows 기능 켜기 또는 끄기를 클릭합니다.
- 인터넷 정보 서비스, World Wide Web Services, 일반 HTTP 기능을 차례로 확장합니다.
- WebDAV 게시를 선택한 다음 확인을 클릭합니다.
Windows Server 2008 또는 Windows Vista
다음 URL에서 설치 패키지를 다운로드합니다.
다음 연습의 지침에 따라 WebDAV 모듈을 설치합니다.
방법
웹 사이트에 대한 WebDAV 잠금을 구성하는 방법
IIS(인터넷 정보 서비스) 관리자를 엽니다.
Windows Server 2012 또는 Windows Server 2012 R2를 사용하는 경우:
- 작업 표시줄에서 서버 관리자 클릭하고 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
Windows 8 또는 Windows 8.1 사용하는 경우:
- Windows 키를 누른 채로 문자 X를 누른 다음 제어판 클릭합니다.
- 관리 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
Windows Server 2008 또는 Windows Server 2008 R2를 사용하는 경우:
- 작업 표시줄에서 시작을 클릭하고 관리 도구를 가리킨 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
Windows Vista 또는 Windows 7을 사용하는 경우:
- 작업 표시줄에서 시작을 클릭한 다음 제어판 클릭합니다.
- 관리 도구를 두 번 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
연결 창에서 서버 이름을 확장하고 사이트 노드를 확장한 다음 사이트 이름을 클릭합니다.
사이트의 홈 창에서 WebDAV 제작 규칙을 두 번 클릭합니다.
WebDAV 제작 규칙 페이지가 표시되면 작업 창에서 WebDAV 설정을 클릭합니다.
WebDAV 설정 페이지가 표시되면 잠금 동작 섹션에서 다음 옵션을 지정합니다.
- 잠금 허용을 True로 설정합니다.
- 스토어 잠금의 경우 드롭다운 목록에서 webdav_simple_lock 선택합니다.
- 쓰기 를 위해 잠금 필요 를 원하는 설정으로 설정합니다.
단계를 완료한 후 작업 창에서 적용을 클릭합니다.
구성
요소는 <lockStores>
ApplicationHost.config 파일의 전역 수준에서만 구성할 수 있습니다. 사이트 또는 애플리케이션 수준 또는 Web.config 파일의 모든 설정은 무시됩니다.
특성
없음
자식 요소
요소 | Description |
---|---|
add |
선택적 요소입니다. 잠금 저장소 공급자에 대한 설정을 지정합니다. |
구성 샘플
다음 예제에서는 WebDAV 서버에 대한 샘플 <globalSettings>
요소를 나열합니다. 이 예제에서는 잠금 및 속성에 대한 기본 제공 단순 공급자를 정의하고 서버에 대해 WebDAV 잠금을 사용하도록 설정합니다.
<system.webServer>
<webdav>
<globalSettings>
<propertyStores>
<add name="webdav_simple_prop" image="%windir%\system32\inetsrv\webdav_simple_prop.dll" />
</propertyStores>
<lockStores>
<add name="webdav_simple_lock" image="%windir%\system32\inetsrv\webdav_simple_lock.dll" />
</lockStores>
</globalSettings>
<authoring>
<locks enabled="true" lockStore="webdav_simple_lock" />
</authoring>
</webdav>
</system.webServer>
샘플 코드
참고
propertyStores
및 lockStores 컬렉션은 WebDAV를 설치할 때 기본 제공 속성 및 잠금 공급자로 채워집니다. 이러한 공급자 컬렉션은 현재 확장할 수 없으므로 이 섹션의 코드 샘플은 참조용입니다.
다음 예제에서는 WebDAV 모듈을 설치할 때 시스템에 복사되는 기본 제공 속성 및 잠금 공급자를 다시 추가하도록 WebDAV 전역 설정을 구성합니다.
AppCmd.exe
appcmd.exe set config -section:system.webServer/webdav/globalSettings /+"propertyStores.[name='webdav_simple_prop',image='%windir%\system32\inetsrv\webdav_simple_prop.dll']" /commit:apphost
appcmd.exe set config -section:system.webServer/webdav/globalSettings /+"lockStores.[name='webdav_simple_lock',image='%windir%\system32\inetsrv\webdav_simple_lock.dll']" /commit:apphost
참고
AppCmd.exe 사용하여 이러한 설정을 구성할 때 commit 매개 변수 apphost
를 로 설정해야 합니다. 그러면 구성 설정이 ApplicationHost.config 파일의 적절한 위치 섹션에 커밋됩니다.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection globalSettingsSection = config.GetSection("system.webServer/webdav/globalSettings");
ConfigurationElementCollection propertyStoresCollection = globalSettingsSection.GetCollection("propertyStores");
ConfigurationElement addElement = propertyStoresCollection.CreateElement("add");
addElement["name"] = @"webdav_simple_prop";
addElement["image"] = @"%windir%\system32\inetsrv\webdav_simple_prop.dll";
propertyStoresCollection.Add(addElement);
ConfigurationElementCollection lockStoresCollection = globalSettingsSection.GetCollection("lockStores");
ConfigurationElement addElement1 = lockStoresCollection.CreateElement("add");
addElement1["name"] = @"webdav_simple_lock";
addElement1["image"] = @"%windir%\system32\inetsrv\webdav_simple_lock.dll";
lockStoresCollection.Add(addElement1);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim globalSettingsSection As ConfigurationSection = config.GetSection("system.webServer/webdav/globalSettings")
Dim propertyStoresCollection As ConfigurationElementCollection = globalSettingsSection.GetCollection("propertyStores")
Dim addElement As ConfigurationElement = propertyStoresCollection.CreateElement("add")
addElement("name") = "webdav_simple_prop"
addElement("image") = "%windir%\system32\inetsrv\webdav_simple_prop.dll"
propertyStoresCollection.Add(addElement)
Dim lockStoresCollection As ConfigurationElementCollection = globalSettingsSection.GetCollection("lockStores")
Dim addElement1 As ConfigurationElement = lockStoresCollection.CreateElement("add")
addElement1("name") = "webdav_simple_lock"
addElement1("image") = "%windir%\system32\inetsrv\webdav_simple_lock.dll"
lockStoresCollection.Add(addElement1)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var globalSettingsSection = adminManager.GetAdminSection("system.webServer/webdav/globalSettings", "MACHINE/WEBROOT/APPHOST");
var propertyStoresCollection = globalSettingsSection.ChildElements.Item("propertyStores").Collection;
var addElement = propertyStoresCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "webdav_simple_prop";
addElement.Properties.Item("image").Value = "%windir%\\system32\\inetsrv\\webdav_simple_prop.dll";
propertyStoresCollection.AddElement(addElement);
var lockStoresCollection = globalSettingsSection.ChildElements.Item("lockStores").Collection;
var addElement1 = lockStoresCollection.CreateNewElement("add");
addElement1.Properties.Item("name").Value = "webdav_simple_lock";
addElement1.Properties.Item("image").Value = "%windir%\\system32\\inetsrv\\webdav_simple_lock.dll";
lockStoresCollection.AddElement(addElement1);
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set globalSettingsSection = adminManager.GetAdminSection("system.webServer/webdav/globalSettings", "MACHINE/WEBROOT/APPHOST")
Set propertyStoresCollection = globalSettingsSection.ChildElements.Item("propertyStores").Collection
Set addElement = propertyStoresCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "webdav_simple_prop"
addElement.Properties.Item("image").Value = "%windir%\system32\inetsrv\webdav_simple_prop.dll"
propertyStoresCollection.AddElement(addElement)
Set lockStoresCollection = globalSettingsSection.ChildElements.Item("lockStores").Collection
Set addElement1 = lockStoresCollection.CreateNewElement("add")
addElement1.Properties.Item("name").Value = "webdav_simple_lock"
addElement1.Properties.Item("image").Value = "%windir%\system32\inetsrv\webdav_simple_lock.dll"
lockStoresCollection.AddElement(addElement1)
adminManager.CommitChanges()