Поделиться через


WebDAV Lock Store Defintions <lockStores>

Общие сведения

Модуль WebDAV предназначен для поддержки нескольких поставщиков хранилищ блокировок, которые определены в webdav/globalSettings/lockStores коллекции. Ряд <add> элементов определяет параметры для каждого поставщика блокировки в <lockStores> коллекции.

Примечание

В настоящее время единственным поставщиком хранилища свойств является webdav_simple_lock, который хранит блокировки WebDAV в памяти. Так как этот поставщик хранит блокировки в памяти, блокировки автоматически освобождаются при перезапуске СЛУЖБ 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> был представлен в WebDAV 7.5 в рамках отдельной загрузки для IIS 7.0.
IIS 6,0 Н/Д

Примечание

Элемент <lockStores> был определен в схеме WebDAV 7.0, но был проигнорирован, так как блокировки WebDAV не были реализованы в этой версии.

Примечание

Модули WebDAV 7.0 и WebDAV 7.5 поставляются внеполосно для IIS 7.0, что требует скачивания и установки модулей по следующему URL-адресу:

https://www.iis.net/expand/WebDAV

В Windows 7 и Windows Server 2008 R2 модуль WebDAV 7.5 поставляется в качестве функции для IIS 7.5, поэтому скачивание WebDAV больше не требуется.

Настройка

Для поддержки публикации WebDAV для веб-сервера необходимо установить модуль WebDAV. Для этого выполните следующие действия.

Windows Server 2012 или Windows Server 2012 R2

  1. На панели задач щелкните Диспетчер сервера.
  2. В диспетчер сервера откройте меню Управление и выберите пункт Добавить роли и компоненты.
  3. В мастере добавления ролей и компонентов нажмите кнопку Далее. Выберите тип установки и нажмите кнопку Далее. Выберите целевой сервер и нажмите кнопку Далее.
  4. На странице Роли сервера разверните узел Веб-сервер (IIS),веб-сервер, узел Общие функции HTTP, а затем выберите Публикация WebDAV. Щелкните Далее.
    Снимок экрана: страница
  5. На странице Выбор компонентов нажмите кнопку Далее.
  6. На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
  7. На странице Результаты нажмите кнопку Закрыть.

Windows 8 или Windows 8.1

  1. На начальном экране переместите указатель в левый нижний угол, щелкните правой кнопкой мыши кнопку Пуск и выберите пункт панель управления.
  2. В панель управления щелкните Программы и компоненты, а затем — Включить или выключить компоненты Windows.
  3. Разверните узел Службы IIS, Веб-службы, Общие функции HTTP, а затем выберите Публикация WebDAV.
    Снимок экрана: диалоговое окно
  4. Нажмите кнопку ОК.
  5. Щелкните Закрыть.

Windows Server 2008 R2

  1. На панели задач нажмите кнопку Пуск, наведите указатель мыши на пункт Администрирование, а затем щелкните диспетчер сервера.
  2. В области иерархии диспетчер сервера разверните узел Роли, а затем щелкните Веб-сервер (IIS) .
  3. В области Веб-сервер (IIS) прокрутите страницу до раздела Службы ролей и щелкните Добавить службы ролей.
  4. На странице Выбор служб ролеймастера добавления служб ролей разверните узел Общие функции HTTP, выберите Публикация WebDAV и нажмите кнопку Далее.
    Снимок экрана: мастер добавления служб ролей. Отображается страница Выбор служб ролей. Веб-публикация DAV выделена и выбрана.
  5. На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
  6. На странице Результаты нажмите кнопку Закрыть.

Windows 7

  1. На панели задач нажмите кнопку Пуск, а затем выберите пункт панель управления.
  2. В панель управления щелкните Программы и компоненты, а затем — Включить или отключить компоненты Windows.
  3. Разверните узел Службы IIS, затем Службы Интернета, а затем Общие функции HTTP.
  4. Выберите WebDAV Publishing (Публикация WebDAV) и нажмите кнопку ОК.
    Снимок экрана: диалоговое окно

Windows Server 2008 или Windows Vista

Инструкции

Настройка блокировки WebDAV для веб-сайта

  1. Откройте диспетчер служб 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.
  2. В области Подключения разверните имя сервера, узел Сайты , а затем щелкните имя сайта.

  3. На домашней панели сайта дважды щелкните WebDAV Authoring Rules( Правила разработки webDAV).
    Снимок экрана: домашняя страница сервера. В области Главная выбран значок Правила разработки веб-приложений DAV.

  4. Когда откроется страница Правила разработки WebDAV , щелкните Параметры WebDAV в области Действия .

  5. При отображении страницы Параметры WebDAV укажите следующие параметры в разделе Поведение блокировки :

    • Задайте для параметра Разрешить блокировкизначение True.
    • В поле Блокировать хранилище выберите webdav_simple_lock в раскрывающемся списке.
    • Задайте параметр Требовать блокировку для записи в нужное значение.
      Снимок экрана: страница параметров веб-dav. В разделе Поведение блокировки для параметра Разрешить блокировки задано значение True. Для хранилища блокировки выбрана простая блокировка подчеркивания Web Dav.
  6. Завершив действия, нажмите кнопку Применить в области Действия .

Конфигурация

Элемент <lockStores> можно настроить только на глобальном уровне в файле ApplicationHost.config. Все параметры на уровне сайта или приложения или в файлах Web.config игнорируются.

Атрибуты

Отсутствует.

Дочерние элементы

Элемент Описание
add Необязательный элемент. Задает параметры для поставщика хранилища блокировок.

Образец конфигурации

В следующем примере приведен пример <globalSettings> элемента для сервера WebDAV. В этом примере определяются встроенные простые поставщики для блокировок и свойств, а также включается блокировка 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 для настройки этих параметров для параметра 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()