Compartir a través de


Dependencias de aplicaciones <applicationDependencies>

Información general

El elemento <applicationDependencies> del elemento <security> funciona junto con el elemento <isapiCgiRestriction> para definir qué aplicaciones tienen dependencias en una o varias restricciones de extensión de CGI o ISAPI. Si una aplicación está contenida en este elemento , la aplicación tiene dependencias de un elemento (o varios elementos) en el elemento <isapiCgiRestriction>.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <applicationDependencies> no se modificó en IIS 10.0.
IIS 8.5 El elemento <applicationDependencies> no se modificó en IIS 8.5.
IIS 8.0 El elemento <applicationDependencies> no se modificó en IIS 8.0.
IIS 7.5 El elemento <applicationDependencies> no se modificó en IIS 7.5.
IIS 7.0 El elemento <applicationDependencies> del elemento <security> 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 <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

Ninguno.

Elementos secundarios

Elemento Descripción
application Elemento opcional.

Especifica una aplicación que tiene dependencias en una restricción de extensión CGI o ISAPI.
clear Elemento opcional.

Quita todas las referencias a las aplicaciones de la colección applicationDependencies.

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ámetrocommit en apphost cuando use AppCmd.exe para configurar estos valores. 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()