Partager via


Applications pour les dépendances d’application <application>

Vue d’ensemble

L’élément <application> de l’élément <applicationDependencies> spécifie une application qui a des dépendances sur une ou plusieurs restrictions d’extension CGI ou ISAPI. Plus précisément, l’attribut groupID de l’élément <application> spécifie la dépendance d’application principale et l’élément peut contenir un ou plusieurs éléments <add> qui spécifient des dépendances supplémentaires.

Compatibilité

Version Notes
IIS 10.0 L’élément <application> n’a pas été modifié dans IIS 10.0.
IIS 8.5 L’élément <application> n’a pas été modifié dans IIS 8.5.
IIS 8.0 L’élément <application> n’a pas été modifié dans IIS 8.0.
IIS 7.5 L’élément <application> n’a pas été modifié dans IIS 7.5.
IIS 7.0 L’élément <application> de l’élément <applicationDependencies> a été introduit dans IIS 7.0.
IIS 6.0 L’élément <applicationDependencies> remplace l’attribut ApplicationDependencies IIS 6.0 de l’objet métabase IIsWebService.

Programme d’installation

L’élément <application> de l’élément <applicationDependencies> est inclus dans l’installation par défaut d’IIS 7.

Procédure

Il n’existe aucune interface utilisateur pour configurer l’élément <applicationDependencies> pour IIS 7. Pour obtenir des exemples de configuration de l’élément <applicationDependencies> par programmation, consultez la section Exemples de code de ce document.

Configuration

Attributs

Attribut Description
groupID Attribut de chaîne facultatif.

Spécifie le groupID de l’application qui a une dépendance sur une restriction d’extension.

Consultez la section Configuration par défaut suivante pour obtenir la liste complète des valeurs par défaut.
Name Attribut de chaîne requis.

Spécifie le nom unique de l’application qui a une dépendance sur une restriction d’extension.

Consultez la section Configuration par défaut suivante pour obtenir la liste complète des valeurs par défaut.

Éléments enfants

Élément Description
add Élément facultatif.

Ajoute des groupID supplémentaires à l’application parente.
clear Élément facultatif.

Supprime toutes les références aux groupID supplémentaires de la collection add.

Exemple Configuration

L’exemple de configuration suivant illustre les dépendances d’application dans l’élément <applicationDependencies> pour le site web par défaut et les entrées associées dans <isapiCgiRestriction> après avoir installé ASP (Active Server Pages) et une application personnalisée sur IIS 7 :

  • L’application Active Server Pages a une dépendance sur le groupe de restrictions ISAPI/CGI « ASP ».
  • L’application personnalisée a une dépendance sur le groupe de restrictions ISAPI/CGI « MyCustomGroup » et une dépendance supplémentaire sur le groupe de restrictions ISAPI/CGI ASP.
<system.webServer>
   <security>
      <isapiCgiRestriction notListedIsapisAllowed="false" notListedCgisAllowed="false">
         <clear />
         <add allowed="true" groupId="ASP"
            path="C:\Windows\system32\inetsrv\asp.dll" 
            description="Active Server Pages" />
         <add allowed="true" groupId="MyCustomGroup"
            path="C:\Windows\system32\inetsrv\mycustom.dll"
            description="My Custom Application" />
      </isapiCgiRestriction>
   </security>
</system.webServer>

<location path="Default Web Site">
   <system.webServer>
      <security>
         <applicationDependencies>
            <application name="My Custom Application" groupId="MyCustomGroup">
               <add groupId="ASP" />
            </application>
         </applicationDependencies>
      </security>
   </system.webServer>
</location>

Exemple de code

L’exemple de configuration suivant illustre les dépendances d’application dans l’élément <applicationDependencies> pour le site web par défaut. L’application personnalisée a une dépendance sur le groupe de restrictions ISAPI/CGI « MyCustomGroup » et une dépendance supplémentaire sur le groupe de restrictions ISAPI/CGI ASP.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/security/applicationDependencies /+"[name='My Custom Application',groupId='MyCustomGroup']" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.webServer/security/applicationDependencies /+"[name='My Custom Application',groupId='MyCustomGroup'].[groupId='ASP']" /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 applicationDependenciesSection = config.GetSection("system.webServer/security/applicationDependencies", "Default Web Site");

         ConfigurationElementCollection applicationDependenciesCollection = applicationDependenciesSection.GetCollection();
         ConfigurationElement applicationElement = applicationDependenciesCollection.CreateElement("application");
         applicationElement["name"] = @"My Custom Application";
         applicationElement["groupId"] = @"MyCustomGroup";

         ConfigurationElementCollection applicationCollection = applicationElement.GetCollection();
         ConfigurationElement addElement = applicationCollection.CreateElement("add");
         addElement["groupId"] = @"ASP";
         applicationCollection.Add(addElement);
         applicationDependenciesCollection.Add(applicationElement);

         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 applicationDependenciesSection As ConfigurationSection = config.GetSection("system.webServer/security/applicationDependencies", "Default Web Site")

      Dim applicationDependenciesCollection As ConfigurationElementCollection = applicationDependenciesSection.GetCollection
      Dim applicationElement As ConfigurationElement = applicationDependenciesCollection.CreateElement("application")
      applicationElement("name") = "My Custom Application"
      applicationElement("groupId") = "MyCustomGroup"

      Dim applicationCollection As ConfigurationElementCollection = applicationElement.GetCollection
      Dim addElement As ConfigurationElement = applicationCollection.CreateElement("add")
      addElement("groupId") = "ASP"
      applicationCollection.Add(addElement)
      applicationDependenciesCollection.Add(applicationElement)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var applicationDependenciesSection = adminManager.GetAdminSection("system.webServer/security/applicationDependencies", "MACHINE/WEBROOT/APPHOST/Default Web Site");

var applicationDependenciesCollection = applicationDependenciesSection.Collection;
var applicationElement = applicationDependenciesCollection.CreateNewElement("application");
applicationElement.Properties.Item("name").Value = "My Custom Application";
applicationElement.Properties.Item("groupId").Value = "MyCustomGroup";

var applicationCollection = applicationElement.Collection;
var addElement = applicationCollection.CreateNewElement("add");
addElement.Properties.Item("groupId").Value = "ASP";
applicationCollection.AddElement(addElement);
applicationDependenciesCollection.AddElement(applicationElement);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set applicationDependenciesSection = adminManager.GetAdminSection("system.webServer/security/applicationDependencies", "MACHINE/WEBROOT/APPHOST/Default Web Site")

Set applicationDependenciesCollection = applicationDependenciesSection.Collection
Set applicationElement = applicationDependenciesCollection.CreateNewElement("application")
applicationElement.Properties.Item("name").Value = "My Custom Application"
applicationElement.Properties.Item("groupId").Value = "MyCustomGroup"

Set applicationCollection = applicationElement.Collection
Set addElement = applicationCollection.CreateNewElement("add")
addElement.Properties.Item("groupId").Value = "ASP"
applicationCollection.AddElement(addElement)
applicationDependenciesCollection.AddElement(applicationElement)

adminManager.CommitChanges()