Compartir a través de


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