Partager via


Ajout de magasins de verrous WebDAV <add>

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 <add> n’a pas été modifié dans IIS 10.0.
IIS 8.5 L’élément <add> n’a pas été modifié dans IIS 8.5.
IIS 8.0 L’élément <add> n’a pas été modifié dans IIS 8.0.
IIS 7.5 L’élément <add> de l’élément <lockStores> est fourni en tant que fonctionnalité d’IIS 7.5.
IIS 7.0 L’élément <add> de 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 <add> de 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 n’étaient pas livrés avec IIS 7.0, mais nécessitaient un téléchargement et une installation via 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. Dans la page Rôles de serveur, développez Serveur web (IIS), développez Serveur web, développez Fonctionnalités HTTP courantes, puis sélectionnez Publication WebDAV. Sélectionnez Suivant.
    Screenshot of Web Server and Common H T P Features pane expanded with Web DAV Publishing selected.
  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 Services World Wide Web, développez Fonctionnalités HTTP courantes, puis sélectionnez Publication WebDAV.
    Screenshot of Turn Windows Features on or off page displaying Common H T T P Features pane expanded and Web DAV Publishing 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 de hiérarchie de 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 communes, sélectionnez Publication WebDAV, puis cliquez sur Suivant.
    Image of Select Role Services page with Common H T T P Features pane expanded and Web DAV Publishing 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 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 des Services World Wide Web, puis Fonctionnalités HTTP courantes.
  4. Sélectionnez Publication WebDAV, puis cliquez sur OK.
    Screenshot of Windows Feature page displaying World Wide Web Services and Common H T T P Features pane expanded with Web DAV Publishing selected.

Windows Server 2008 ou Windows Vista

Procédure

Comment configurer le verrouillage WebDAV pour un site web

  1. Ouvrez le Gestionnaire Internet Information Services (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 des services Internet (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Dans la barre des tâches, 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 Server Home control panel with Web DAV Publishing highlighted.

  4. Lorsque la page Règles de création WebDAV s’affiche, cliquez sur 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 le paramètre souhaité pour Exiger un verrou pour l’écriture.
      Screenshot of Web DAV Settings page with Lock Behavior section displayed.
  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

Attribut Description
name Attribut requis. Spécifie le nom d’un fournisseur de magasin de verrous.
image Attribut requis. Spécifie le chemin du système de fichiers pour un fournisseur de magasin de verrous. Remarque : Sur un système 64 bits, il s’agit du chemin d’accès 64 bits, tandis que sur un système 32 bits, celui-ci contiendra le chemin d’accès au fournisseur 32 bits et l’attribut image32 sera ignoré.
image32 Attribut facultatif. Spécifie le chemin d’accès 32 bits d’un fournisseur de verrous sur un système 64 bits. Remarque : Cet attribut a été ajouté dans WebDAV 7.5 et IIS 7.5.

Éléments enfants

Aucune.

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 renseignées 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 à l'heure actuelle. Les exemples de code de cette section sont donc fournis uniquement à titre de 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()