Partager via


Définition du magasin de verrous WebDAV <lockStores>

Vue d’ensemble

Le module WebDAV est conçu pour prendre en charge plusieurs fournisseurs de magasin de verrous, qui sont définis dans la collection webdav/globalSettings/lockStores. Une série d’éléments <add> définit les paramètres de chaque fournisseur de verrous dans la collection <lockStores>.

Remarque

Actuellement, le seul fournisseur de magasin de propriétés est webdav_simple_lock, qui stocke les verrous WebDAV en mémoire. Étant donné que ce fournisseur stocke les verrous en mémoire, les verrous sont automatiquement libérés lorsque IIS ou un pool d’applications sont redémarrés.

Compatibilité

Version Notes
IIS 10.0 L’élément <lockStores> n’a fait l’objet d’aucune modification dans IIS 10.0.
IIS 8.5 L’élément <lockStores> n’a fait l’objet d’aucune modification dans IIS 8.5.
IIS 8.0 L’élément <lockStores> n’a fait l’objet d’aucune modification dans IIS 8.0.
IIS 7.5 L’élément <lockStores> est fourni en tant que fonctionnalité d’IIS 7.5.
IIS 7.0 L’élément <lockStores> a été introduit dans WebDAV 7.5 dans le cadre d’un téléchargement distinct pour IIS 7.0.
IIS 6.0 N/A

Remarque

L’élément <lockStores> a été défini dans le schéma WebDAV 7.0, mais il a été ignoré car les verrous WebDAV n’ont pas été implémentés dans cette version.

Remarque

Les modules WebDAV 7.0 et WebDAV 7.5 fournis hors bande pour IIS 7.0, qui ont requis le téléchargement et l’installation des modules à partir de l’URL suivante :

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

Avec Windows 7 et Windows Server 2008 R2, le module WebDAV 7.5 est fourni en tant que fonctionnalité pour IIS 7.5, de sorte que le téléchargement de WebDAV n’est plus nécessaire.

Programme d’installation

Pour prendre en charge la publication WebDAV pour votre serveur Web, vous devez installer le module WebDAV. Pour cela, procédez comme suit.

Windows Server 2012 ou Windows Server 2012 R2

  1. Dans la barre des tâches, cliquez sur Gestionnaire de serveur.
  2. Dans Gestionnaire de serveur, cliquez sur le menu Gérer, puis sur Ajouter des rôles et des fonctionnalités.
  3. Dans l’Assistant Ajout de rôles et de fonctionnalités, cliquez sur Suivant. Sélectionnez le type d’installation, puis cliquez sur Suivant. Sélectionnez le serveur de destination, puis cliquez sur Suivant.
  4. Sur la page Rôles du serveur, développez Serveur Web (IIS), développez Serveur Web, développez Fonctionnalités HTTP communes, puis sélectionnez Publication WebDAV. Sélectionnez Suivant.
    Screenshot of the Server Roles page. Web Server I I S is expanded. Web Server is expanded. Common H T T P Features is expanded. Web DAV Publishing is selected and highlighted.
  5. Dans la page Sélectionner les composants, cliquez sur Suivant.
  6. Dans la page Confirmer les sélections d’installation, cliquez sur Installer.
  7. Dans la page Résultats , cliquez sur Fermer.

Windows 8 ou Windows 8.1

  1. Dans l’écran Démarrer, déplacez le pointeur en bas à gauche, cliquez avec le bouton droit sur le bouton Démarrer, puis cliquez sur Panneau de configuration.
  2. Dans Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez Internet Information Services, développez World Wide Web Services, développez fonctionnalités HTTP courantes, puis sélectionnez publication WebDAV.
    Screenshot of the Windows Features dialog. Web DAV Publishing is highlighted and selected.
  4. Cliquez sur OK.
  5. Cliquez sur Fermer.

Windows Server 2008 R2

  1. Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire de serveur.
  2. Dans le volet hiérarchie du Gestionnaire de serveur, développez Rôles, puis cliquez sur Serveur web (IIS).
  3. Dans le volet Serveur web (IIS), faites défiler jusqu’à la section Services de rôle, puis cliquez sur Ajouter des services de rôle.
  4. Sur la page Sélectionner les services de rôle de l'Assistant Ajout de services de rôle, développez Fonctionnalités HTTP courantes, sélectionnez Publication WebDAV, puis cliquez sur Suivant.
    Screenshot of the Add Role Services Wizard. The Select Role Services page is shown. Web DAV Publishing is highlighted and selected.
  5. Dans la page Confirmer les sélections pour l'installation, cliquez sur Installer.
  6. Dans la page Résultats , cliquez sur Fermer.

Windows 7

  1. Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
  2. Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez Internet Information Services, puis World Wide Web Services et Fonctionnalités HTTP courantes.
  4. Sélectionnez Publication WebDAV, puis cliquez sur OK.
    Screenshot of the Windows Features dialog box. The Turn Windows features on or off page is shown. Web DAV Publishing is selected and highlighted.

Windows Server 2008 ou Windows Vista

Procédure

Comment configurer le verrouillage WebDAV pour un site Web

  1. Ouvrez le Gestionnaire des services internet (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Cliquez sur Démarrer, placez le curseur sur Outils d'administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
      • Double-cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
  2. Dans le volet Connexions, développez le nom du serveur, développez le nœud Sites puis cliquez sur le nom du site.

  3. Dans le volet Accueil du site, double-cliquez sur Règles de création WebDAV.
    Screenshot of the Server Home page. In the Home pane, the Web DAV Authoring Rules icon is selected.

  4. Lorsque la page Règles de création WebDAV s’affiche, cliquez sur la tâche Paramètres WebDAV dans le volet Actions.

  5. Lorsque la page paramètres WebDAV est affichée, spécifiez les options suivantes dans la section Comportement de verrouillage :

    • Définissez Autoriser les verrous sur True.
    • Pour Magasin de verrous, choisissez webdav_simple_lock dans la liste déroulante.
    • Définissez Exiger un verrou pour l’écriture dans votre paramètre souhaité.
      Screenshot of the Web DAV Settings page. In the Lock Behavior section, Allow Locks is set to True. Web Dav underscore simple underscore lock is selected for Lock Store.
  6. Une fois les étapes terminées, cliquez sur Appliquer dans le volet Actions.

Configuration

L’élément <lockStores> est configurable uniquement au niveau global dans le fichier ApplicationHost.config. Tous les paramètres au niveau du site ou de l’application ou dans les fichiers Web.config sont ignorés.

Attributs

Aucune.

Éléments enfants

Élément Description
add Élément facultatif. Spécifie les paramètres d’un fournisseur de magasin de verrous.

Exemple Configuration

L’exemple suivant répertorie un exemple d’élément <globalSettings> pour un serveur WebDAV. Cet exemple définit les fournisseurs simples intégrés pour les verrous et les propriétés, et active les verrous WebDAV pour le serveur.

<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>

Exemple de code

Remarque

Les collections propertyStores et lockStores sont remplies avec les fournisseurs de propriétés et de verrous intégrés lorsque vous installez WebDAV. Ces collections de fournisseurs ne sont pas extensibles pour l’instant. Par conséquent, les exemples de code de cette section ne sont que pour référence.

Les exemples suivants configurent les paramètres globaux WebDAV pour rajouter la propriété intégrée et les fournisseurs de verrous copiés dans votre système lorsque vous installez le module 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

Remarque

Vous devez veiller à définir le paramètre commit sur apphost quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d’emplacement appropriée dans le fichier 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()