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()
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour