Compartilhar via


Dependências de Aplicativo <applicationDependencies>

Visão geral

O elemento <applicationDependencies> do elemento <security> funciona em conjunto com o elemento <isapiCgiRestriction> para definir quais aplicativos têm dependências em uma ou mais restrições de extensão CGI ou ISAPI. Se um aplicativo estiver contido nesse elemento, o aplicativo terá dependências em um item (ou vários itens) no elemento <isapiCgiRestriction>.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <applicationDependencies> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <applicationDependencies> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <applicationDependencies> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <applicationDependencies> não foi modificado no IIS 7.5.
IIS 7.0 O elemento <applicationDependencies> do elemento <security> foi introduzido no IIS 7.0.
IIS 6,0 O elemento <applicationDependencies> substitui o atributo ApplicationDependencies do IIS 6.0 do objeto de metabase IIsWebService.

Instalação

O elemento <applicationDependencies> está incluído na instalação padrão do IIS 7.

Instruções

Não há interface de usuário para configurar o elemento <applicationDependencies> para IIS 7. Para obter exemplos de como configurar o elemento <applicationDependencies> programaticamente, confira a seção Exemplos de Código deste documento.

Configuração

Atributos

Nenhum.

Elementos filho

Elemento Descrição
application Elemento opcional.

Especifica um aplicativo que tem dependências em uma restrição de extensão CGI ou ISAPI.
clear Elemento opcional.

Remove todas as referências a aplicativos da coleção applicationDependencies.

Exemplo de configuração

O exemplo de configuração a seguir ilustra as dependências do aplicativo no elemento <applicationDependencies> para o site padrão e as entradas relacionadas no <isapiCgiRestriction> depois de instalar o ASP (Active Server Pages) e um aplicativo personalizado no IIS 7:

  • O aplicativo Active Server Pages tem uma dependência do grupo de restrição ISAPI/CGI "ASP".
  • O aplicativo personalizado tem uma dependência do grupo de restrição ISAPI/CGI "MyCustomGroup" e uma dependência adicional do grupo de restrição ASP ISAPI/CGI.
<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>

Exemplo de código

O exemplo de configuração a seguir ilustra as dependências do aplicativo no elemento <applicationDependencies> para o Site Padrão. O aplicativo personalizado tem uma dependência do grupo de restrição ISAPI/CGI "MyCustomGroup" e uma dependência adicional do grupo de restrição ASP ISAPI/CGI.

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

Observação

Defina o parâmetro commit para apphost quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo 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()