應用程式相依性 < 應用程式的應用程式>
概觀
<application>
applicationDependencies > 元素的 <元素會指定相依于一或多個 CGI 或 ISAPI 延伸限制的應用程式。 具體來說,專案的groupID屬性 <application>
會指定主要應用程式相依性,而且元素可能包含一或多個< 指定其他相依性的新增 >專案。
相容性
版本 | 備註 |
---|---|
IIS 10.0 | 未在 IIS 10.0 中修改專案 <application> 。 |
IIS 8.5 | 未在 IIS 8.5 中修改專案 <application> 。 |
IIS 8.0 | 未在 IIS 8.0 中修改專案 <application> 。 |
IIS 7.5 | 未在 IIS 7.5 中修改專案 <application> 。 |
IIS 7.0 | 元素 <application> 的 <applicationDependencies> 元素是在 IIS 7.0 中引進。 |
IIS 6.0 | 元素 <applicationDependencies> 會取代IIsWebService Metabase 物件的 IIS 6.0 ApplicationDependencies屬性。 |
安裝程式
元素 <application>
的 <applicationDependencies>
元素包含在 IIS 7 的預設安裝中。
作法
沒有用於設定 <applicationDependencies>
IIS 7 元素的使用者介面。 For examples of how to configure the <applicationDependencies>
element programmatically, see the Code Samples section of this document.
組態
屬性
屬性 | 描述 |
---|---|
groupID |
選擇性字串屬性。 指定相依于擴充功能限制之應用程式的 groupID 。 如需預設值的完整清單,請參閱下列預設組態一節。 |
Name |
必要的字串屬性。 指定相依于擴充功能限制之應用程式的唯一名稱。 如需預設值的完整清單,請參閱下列預設組態一節。 |
子元素
元素 | 描述 |
---|---|
add |
選擇性項目。 將其他 groupID 新增至父應用程式。 |
clear |
選擇性項目。 從 add 集合中移除其他 groupID 的所有參考。 |
組態範例
下列組態範例說明當您在 IIS 7 上安裝 Active Server Pages (ASP) 和自訂應用程式之後,預設網站 元素中的應用程式相依性 <applicationDependencies>
以及 中的 <isapiCgiRestriction>
相關專案:
- Active Server Pages 應用程式相依于 「ASP」 ISAPI/CGI 限制群組。
- 自訂應用程式相依于 「MyCustomGroup」 ISAPI/CGI 限制群組,以及 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>
範例程式碼
下列組態範例說明預設網站元素中的 <applicationDependencies>
應用程式相依性。 自訂應用程式相依于 「MyCustomGroup」 ISAPI/CGI 限制群組,以及 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
注意
當您使用 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()