Поделиться через


Приложения для приложения зависимостей приложений <>

Общие сведения

Элемент <application><элемента applicationDependencies> указывает приложение, которое имеет зависимости от одного или нескольких ограничений расширения CGI или ISAPI. В частности, атрибут groupID элемента задает зависимость основного <application> приложения, и элемент может содержать один или несколько <добавок> , определяющих дополнительные зависимости.

Совместимость

Версия Примечания
IIS 10.0 Элемент <application> не был изменен в IIS 10.0.
IIS 8,5 Элемент <application> не был изменен в IIS 8.5.
IIS 8,0 Элемент <application> не был изменен в IIS 8.0.
IIS 7,5 Элемент <application> не был изменен в IIS 7.5.
IIS 7.0 Элемент <application> элемента появился <applicationDependencies> в IIS 7.0.
IIS 6,0 Элемент <applicationDependencies> заменяет атрибут IIS 6.0 ApplicationDependencies объекта метабазы IIsWebService .

Настройка

Элемент <application><applicationDependencies> элемента включен в установку IIS 7 по умолчанию.

Инструкции

Отсутствует пользовательский интерфейс для настройки <applicationDependencies> элемента для IIS 7. Примеры настройки <applicationDependencies> элемента программными средствами см. в разделе Примеры кода этого документа.

Конфигурация

Атрибуты

Атрибут Описание
groupID Необязательный строковый атрибут.

Указывает groupID приложения, которое зависит от ограничения расширения.

Полный список значений по умолчанию см. в следующем разделе Конфигурация по умолчанию.
Name Обязательный строковый атрибут.

Указывает уникальное имя приложения, которое зависит от ограничения расширения.

Полный список значений по умолчанию см. в следующем разделе Конфигурация по умолчанию.

Дочерние элементы

Элемент Описание
add Необязательный элемент.

Добавляет дополнительные идентификаторы groupID в родительское приложение.
clear Необязательный элемент.

Удаляет все ссылки на дополнительные идентификаторы groupID из коллекции add.

Образец конфигурации

В следующем примере конфигурации показаны зависимости приложения в <applicationDependencies> элементе веб-сайта по умолчанию и связанные записи в <isapiCgiRestriction> после установки Active Server Pages (ASP) и пользовательского приложения в IIS 7:

  • Приложение Active Server Pages зависит от группы ограничений ISAPI/CGI "ASP".
  • Пользовательское приложение имеет зависимость от группы ограничений ISAPI/CGI "MyCustomGroup" и дополнительную зависимость от группы ограничений 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>

Пример кода

В следующем примере конфигурации показаны зависимости приложения в элементе <applicationDependencies> веб-сайта по умолчанию. Пользовательское приложение имеет зависимость от группы ограничений ISAPI/CGI "MyCustomGroup" и дополнительную зависимость от группы ограничений 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

Примечание

При использовании AppCmd.exe для настройки этих параметров для параметра apphostфиксации необходимо задать значение . Это зафиксирует параметры конфигурации в соответствующем разделе расположения в файле 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()