Aplicaciones para la aplicación Dependencias de <aplicaciones>
Información general
El elemento <application>
del <applicationDependencies> elemento especifica una aplicación que tiene dependencias en una o varias restricciones de extensión de CGI o ISAPI. En concreto, el atributo groupID del elemento <application>
especifica la dependencia de la aplicación principal y el elemento puede contener uno o varios <agregar> elementos que especifican dependencias adicionales.
Compatibilidad
Versión | Notas |
---|---|
IIS 10.0 | El elemento <application> no se modificó en IIS 10.0. |
IIS 8.5 | El elemento <application> no se modificó en IIS 8.5. |
IIS 8.0 | El elemento <application> no se modificó en IIS 8.0. |
IIS 7.5 | El elemento <application> no se modificó en IIS 7.5. |
IIS 7.0 | El elemento <application> del elemento <applicationDependencies> se introdujo en IIS 7.0. |
IIS 6,0 | El elemento <applicationDependencies> reemplaza el atributo ApplicationDependencies de IIS 6.0 del objeto metabase IIsWebService. |
Configuración
El elemento <application>
del elemento <applicationDependencies>
se incluye en la instalación predeterminada de IIS 7.
Procedimientos
No hay ninguna interfaz de usuario para configurar el elemento <applicationDependencies>
para IIS 7. Para obtener ejemplos de cómo configurar el elemento <applicationDependencies>
mediante programación, vea la sección Ejemplos de código de este documento.
Configuración
Atributos
Atributo | Descripción |
---|---|
groupID |
Atributo de cadena opcional. Especifica el groupID de la aplicación que tiene una dependencia de una restricción de extensión. Consulte la siguiente sección Configuración predeterminada para obtener la lista completa de valores predeterminados. |
Name |
Atributo de cadena necesario. Especifica el nombre único de la aplicación que tiene una dependencia de una restricción de extensión. Consulte la siguiente sección Configuración predeterminada para obtener la lista completa de valores predeterminados. |
Elementos secundarios
Elemento | Descripción |
---|---|
add |
Elemento opcional. Agrega groupID adicionales a la aplicación primaria. |
clear |
Elemento opcional. Quita todas las referencias a groupID adicionales de la colección add. |
Ejemplo de configuración
En el siguiente ejemplo de configuración se muestran las dependencias de la aplicación en el elemento <applicationDependencies>
del sitio web predeterminado y las entradas relacionadas del <isapiCgiRestriction>
después de instalar Active Server Pages (ASP) y una aplicación personalizada en IIS 7:
- La aplicación Active Server Pages tiene una dependencia del grupo de restricciones ISAPI/CGI "ASP".
- La aplicación personalizada tiene una dependencia del grupo de restricciones ISAPI/CGI "MyCustomGroup" y una dependencia adicional del grupo de restricciones ISAPI/CGI de 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>
Código de ejemplo
En el ejemplo de configuración siguiente se muestran las dependencias de la aplicación en el elemento <applicationDependencies>
del sitio web predeterminado. La aplicación personalizada tiene una dependencia del grupo de restricciones ISAPI/CGI "MyCustomGroup" y una dependencia adicional del grupo de restricciones ISAPI/CGI de 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
Nota:
Debe asegurarse de establecer el parámetro de confirmación en apphost
cuando use AppCmd.exe para configurar estas opciones. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo 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()