Partager via


Dépendances d’application <applicationDependencies>

Vue d’ensemble

L’élément <applicationDependencies> de l’élément <security> fonctionne en tandem avec l’élément <isapiCgiRestriction> pour définir les applications qui ont des dépendances sur une ou plusieurs restrictions d’extension CGI ou ISAPI. Si une application est contenue dans cet élément, l’application a des dépendances sur un élément (ou plusieurs éléments) dans l’élément <isapiCgiRestriction>.

Compatibilité

Version Notes
IIS 10.0 L’élément <applicationDependencies> n’a pas été modifié dans IIS 10.0.
IIS 8.5 L’élément <applicationDependencies> n’a pas été modifié dans IIS 8.5.
IIS 8.0 L’élément <applicationDependencies> n’a pas été modifié dans IIS 8.0.
IIS 7.5 L’élément <applicationDependencies> n’a pas été modifié dans IIS 7.5.
IIS 7.0 L’élément <applicationDependencies> de l’élément <security> 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 <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

Aucune.

Éléments enfants

Élément Description
application Élément facultatif.

Spécifie une application qui a des dépendances sur une restriction d’extension CGI ou ISAPI.
clear Élément facultatif.

Supprime toutes les références aux applications de la collection applicationDependencies.

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