共用方式為


針對 網際網路資訊服務 新增Modules <add> 元素 (IIS) 7;

概觀

<add>集合的 <modules> 元素會將模組新增至 網際網路資訊服務 (IIS) 7 的模組清單。

相容性

版本 備註
IIS 10.0 <add> 在 IIS 10.0 中修改專案。
IIS 8.5 專案 <add> 未在 IIS 8.5 中修改。
IIS 8.0 專案 <add> 未在 IIS 8.0 中修改。
IIS 7.5 專案 <add> 未在 IIS 7.5 中修改。
IIS 7.0 集合 <add><modules> 元素是在 IIS 7.0 中引進的。
IIS 6.0 N/A

設定

<add>集合的 <modules> 元素包含在 IIS 7 的預設安裝中。

作法

如何將受控模組新增至應用程式

  1. 開啟 網際網路資訊服務 (IIS) 管理員

    • 如果您使用 Windows Server 2012 或 Windows Server 2012 R2:

      • 在任務欄上,按兩下 [伺服器管理員],按兩下 [工具],然後按兩下 [網際網路資訊服務 [IIS] 管理員
    • 如果您使用 Windows 8 或 Windows 8.1:

      • 按住 Windows 鍵,按字母 X,然後按兩下 [控制台]。
      • 單擊 [管理員 工具],然後按兩下 [網際網路資訊服務 [IIS] 管理員
    • 如果您使用 Windows Server 2008 或 Windows Server 2008 R2:

      • 在任務欄上,按兩下 [開始],指向 [管理員 工具],然後按兩下 [網際網路資訊服務 [IIS] 管理員
    • 如果您使用 Windows Vista 或 Windows 7:

      • 在任務欄上,按兩下 [開始],然後按兩下 [控制台]。
      • 按兩下 管理員 工具,然後按兩下 網際網路資訊服務 (IIS) 管理員
  2. [連線 ions] 窗格中,展開伺服器名稱、展開 [網站],然後移至您要新增受控模組的網站或應用程式。

  3. 在 [ 首頁] 窗格中,按兩下 [模組]。
    [首頁] 窗格的螢幕快照,其中已醒目提示 [模組]。

  4. 在 [動作] 窗格中,按兩下 [ 新增受控模組]。

  5. 在 [新增受控模組] 對話框中,於 [名稱] 方塊中輸入 Managed 模組的名稱,然後在 [類型] 方塊中輸入或選取模組的 .NET Framework 完整類型。

  6. 如果您想要模組只回應受控要求,請選取 [僅針對要求叫用] ASP.NET 應用程式或 Managed 處理程式選項。
    [新增 Managed 模組] 對話框的影像,其中顯示 [名稱] 和 [類型] 方塊,其中 [僅針對對 S P 點 Net 應用程式或 Managed 處理程式] 選項的要求叫用。

  7. 按一下 [確定]

組態

屬性

屬性 描述
name 必要的字串屬性。

指定 Web 伺服器上 Managed 模組的唯一名稱。
preCondition 選擇性字串屬性。 指定模組將執行的條件。

preCondition 屬性可以是下列其中一或多個可能值。 如果您指定多個值,請以逗號 (,) 分隔值。

Description
bitness32 模組是32位.dll檔案時,請指定 bitness32 值。 IIS 應該只針對在 64 位作業系統上以 WOW64 模式(32 位模擬)執行的背景工作進程載入處理程式。
bitness64 模組是64位.dll檔案時,請指定 bitness64 值。 IIS 應該只針對以 64 位模式執行的背景工作進程載入處理程式。
integratedMode 當模組只回應設定為使用整合式要求處理管線的應用程式集區中要求時,請指定 integratedMode 值。
ISAPIMode 當模組只回應設定為使用傳統模式的應用程式集區中要求時,請指定 ISAPIMode 值。
managedHandler 模組只處理受控資源的要求時,請指定 managedHandler 值,例如.aspx檔案,而且不應該回應非受控資源的要求,例如.html檔案。
runtimeVersionv1.1 當模組只回應設定為使用 .NET Framework 1.1 版的應用程式集區中要求時,請指定 runtimeVersionv1.1 值。
runtimeVersionv2.0 當模組只回應設定為使用 .NET Framework 2.0 版的應用程式集區中要求時,請指定 runtimeVersionv2.0 值。
runtimeVersionv4.0 當模組只回應設定為使用 .NET Framework 4.0 版的應用程式集區中要求時,請指定 runtimeVersionv4.0 值。
type 選擇性字串屬性。

指定 Managed 模組的 Managed 類型。 類型屬性不適用於原生模組。

子元素

無。

組態範例

此範例會為 IIS 7 整合模式中執行的 Web 應用程式設定模組。

<configuration>
   <system.webServer>
      <modules>
         <add name="Header" type="Contoso.ShoppingCart.Header"/>
      </modules>
   </system.webServer>
</configuration>

範例程式碼

注意

本檔中的範例說明如何使用已儲存在 .NET 全域程式集緩存 (GAC) 中的 Managed 程式代碼元件。 使用這些範例中的程式代碼來部署您自己的元件之前,您需要從 GAC 擷取元件資訊。 若要這樣做,請使用下列步驟:

  • 在 Windows 檔案總管中,開啟您的 C:\Windows\assembly 路徑,其中 C: 是操作系統磁碟驅動器。
  • 找出您的元件。
  • 以滑鼠右鍵按兩下元件,然後按下 [ 屬性]。
  • 複製文化特性值;例如:中性
  • 複製版本號碼;例如:1.0.0.0
  • 複製公鑰令牌值;例如:426f626f62526f636b73
  • 按一下 [取消]

下列程式代碼範例會為名為 Contoso 的網站啟用受控模組。 name 屬性會定義模組的名稱 CartHeader、type 屬性會定義模組的 Managed 類型preCondition 屬性會定義 IIS 只針對 Managed 要求叫用模組。

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/modules /+"[name='CartHeader',type='Contoso.ShoppingCart.Header',preCondition='managedHandler']"

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.GetWebConfiguration("Contoso");
         ConfigurationSection modulesSection = config.GetSection("system.webServer/modules");
         ConfigurationElementCollection modulesCollection = modulesSection.GetCollection();

         ConfigurationElement addElement = modulesCollection.CreateElement("add");
         addElement["name"] = @"CartHeader";
         addElement["type"] = @"Contoso.ShoppingCart.Header";
         addElement["preCondition"] = @"managedHandler";
         modulesCollection.Add(addElement);

         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.GetWebConfiguration("Contoso")
      Dim modulesSection As ConfigurationSection = config.GetSection("system.webServer/modules")
      Dim modulesCollection As ConfigurationElementCollection = modulesSection.GetCollection

      Dim addElement As ConfigurationElement = modulesCollection.CreateElement("add")
      addElement("name") = "CartHeader"
      addElement("type") = "Contoso.ShoppingCart.Header"
      addElement("preCondition") = "managedHandler"
      modulesCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso";
var modulesSection = adminManager.GetAdminSection("system.webServer/modules", "MACHINE/WEBROOT/APPHOST/Contoso");
var modulesCollection = modulesSection.Collection;

var addElement = modulesCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "CartHeader";
addElement.Properties.Item("type").Value = "Contoso.ShoppingCart.Header";
addElement.Properties.Item("preCondition").Value = "managedHandler";
modulesCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso"
Set modulesSection = adminManager.GetAdminSection("system.webServer/modules", "MACHINE/WEBROOT/APPHOST/Contoso")
Set modulesCollection = modulesSection.Collection

Set addElement = modulesCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "CartHeader"
addElement.Properties.Item("type").Value = "Contoso.ShoppingCart.Header"
addElement.Properties.Item("preCondition").Value = "managedHandler"
modulesCollection.AddElement addElement

adminManager.CommitChanges()