Bagikan melalui


Elemen Modul Elemen <>

Gambaran Umum

Elemen mendefinisikan <modules> modul kode asli dan modul kode terkelola yang terdaftar untuk aplikasi. Sebagai bagian dari pemrosesan alur permintaan Internet Information Services (IIS), IIS memanggil setiap modul yang <modules> tercantum dalam elemen pada setiap permintaan. Anda biasanya menggunakan modul untuk menerapkan fungsionalitas yang disesuaikan, seperti keamanan, statistik, dan pengelogan, atau pemrosesan konten yang disesuaikan, seperti menambahkan header atau footer yang disesuaikan.

Elemen <modules> berisi kumpulan <add> elemen. Setiap elemen menentukan modul yang diaktifkan untuk aplikasi. Saat mengaktifkan modul, Anda mengizinkannya untuk menyediakan layanannya untuk aplikasi tertentu.

Jika Anda ingin mengaktifkan modul asli, Anda harus menginstalnya terlebih dahulu di server. Untuk informasi selengkapnya, lihat <elemen globalModules> .

Anda tidak perlu menginstal modul terkelola; Anda dapat mengaktifkannya secara langsung untuk setiap aplikasi. Ini memungkinkan aplikasi untuk menyertakan modul terkelola mereka langsung dalam aplikasi dengan mendaftarkannya dalam file Web.config aplikasi, dan dengan menyediakan implementasi di direktori /BIN atau /App_Code.

Kompatibilitas

Versi Catatan
IIS 10.0 Elemen <modules> tidak dimodifikasi dalam IIS 10.0.
IIS 8.5 Elemen <modules> tidak dimodifikasi dalam IIS 8.5.
IIS 8.0 Elemen <modules> tidak dimodifikasi dalam IIS 8.0.
IIS 7.5 Elemen <modules> tidak dimodifikasi dalam IIS 7.5.
IIS 7.0 Elemen ini <modules> diperkenalkan di IIS 7.0.
IIS 6.0 T/A

Siapkan

Elemen <modules> ini disertakan dalam penginstalan default IIS 7.

Bagaimana Caranya

Cara menambahkan modul terkelola ke aplikasi

  1. Buka Pengelola Layanan Informasi Internet (IIS):

    • Jika Anda menggunakan Windows Server 2012 atau Windows Server 2012 R2:

      • Pada bilah tugas, klik Manajer Server, klik Alat, lalu klik Pengelola Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows 8 atau Windows 8.1:

      • Tahan tombol Windows, tekan huruf X, lalu klik Panel Kontrol.
      • Klik Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Server 2008 atau Windows Server 2008 R2:

      • Pada bilah tugas, klik Mulai, arahkan ke Alat Administratif, lalu klik Pengelola Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Vista atau Windows 7:

      • Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
      • Klik dua kali Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
  2. Di panel Koneksi , perluas nama server, perluas Situs, lalu masuk ke situs Web atau aplikasi tempat Anda ingin menambahkan modul terkelola.

  3. Di panel Beranda , klik dua kali Modul.
    Cuplikan layar halaman Beranda Situs Web Default. Ikon untuk Modul disorot.

  4. Di panel Tindakan, klik Tambahkan Modul Terkelola.

  5. Dalam kotak dialog Tambahkan Modul Terkelola, masukkan nama modul terkelola dalam kotak Nama, lalu masukkan atau pilih jenis modul .NET Framework sepenuhnya memenuhi syarat dalam kotak Jenis.

  6. Pilih opsi Panggil hanya untuk permintaan ASP.NET aplikasi atau handler terkelola jika Anda ingin modul hanya merespons permintaan terkelola.
    Cuplikan layar kotak dialog Tambahkan Modul Terkelola.

  7. Klik OK.

Konfigurasi

Anda mengonfigurasi <modules> elemen di tingkat server dalam file ApplicationHost.config dan pada tingkat aplikasi dalam file Web.config.

Atribut

Atribut Deskripsi
runAllManagedModulesForAllRequests Nilai Boolean opsional.

Benar jika semua modul terkelola dapat memproses semua permintaan, bahkan jika permintaannya bukan untuk konten terkelola; jika tidak, salah.

Catatan: Di situs web ASP.NET, nilai runAllManagedModulesForAllRequests sebelumnya harus diatur ke true untuk mendukung perutean. Namun, setelah IIS 7 diperbarui dengan Paket Layanan, nilai runAllManagedModulesForAllRequests dapat diatur ke false atau dihilangkan saat bekerja dengan perutean ASP.NET. Untuk informasi selengkapnya, lihat perutean ASP.NET di situs web MSDN.

Nilai defaultnya adalah false.
runManagedModulesForWebDavRequests Nilai Boolean opsional.

Benar jika modul terkelola dapat memproses permintaan WebDAV; jika tidak, salah.

Nilai defaultnya adalah false.

Elemen Anak

Elemen Deskripsi
add Elemen opsional.

Menambahkan modul ke koleksi modul.
clear Elemen opsional.

Menghapus semua referensi ke modul dari koleksi modul.
remove Elemen opsional.

Menghapus referensi ke modul dari koleksi modul.

Sampel Konfigurasi

Contoh mengonfigurasi modul untuk aplikasi Web yang berjalan dalam mode Terintegrasi IIS 7.

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

Kode Sampel

Catatan

Contoh dalam dokumen ini menggambarkan menggunakan rakitan kode terkelola yang telah disimpan di .NET Global Assembly Cache (GAC). Sebelum menggunakan kode dalam contoh ini untuk menyebarkan rakitan Anda sendiri, Anda perlu mengambil informasi perakitan dari GAC. Untuk melakukannya, gunakan langkah-langkah berikut:

  • Di Windows Explorer, buka jalur C:\Windows\assembly Anda, di mana C: adalah drive sistem operasi Anda.
  • Temukan assembly Anda.
  • Klik kanan rakitan dan klik Properti.
  • Salin nilai Budaya ; misalnya: Netral.
  • Salin nomor Versi ; misalnya: 1.0.0.0.
  • Salin nilai Token Kunci Publik ; misalnya: 426f62526f636b73.
  • Klik Batalkan.

Contoh kode berikut mengaktifkan modul terkelola untuk situs Web bernama Contoso. Properti nama menentukan nama CartHeader untuk modul, properti jenis menentukan jenis terkelola untuk modul, properti preCondition menentukan bahwa IIS memanggil modul hanya untuk permintaan terkelola.

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()