Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Gambaran Umum
Elemen <add>
<handlers>
koleksi menambahkan handler ke daftar handler HTTP untuk Internet Information Services (IIS) 7.
Kompatibilitas
Versi | Catatan |
---|---|
IIS 10.0 | Elemen <add> tidak dimodifikasi di IIS 10.0. |
IIS 8.5 | Elemen <add> tidak dimodifikasi di IIS 8.5. |
IIS 8.0 | Elemen <add> tidak dimodifikasi di IIS 8.0. |
IIS 7.5 | Elemen <add> tidak dimodifikasi dalam IIS 7.5. |
IIS 7.0 | Elemen <add> <handlers> koleksi diperkenalkan di IIS 7.0. |
IIS 6.0 | T/A |
Siapkan
Elemen <add>
<handlers>
koleksi disertakan dalam penginstalan default IIS 7.
Bagaimana Caranya
Cara membuat pemetaan handler untuk handler ASP.NET dalam aplikasi IIS 7 yang berjalan dalam mode Terintegrasi
Buka Manajer 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 Manajer 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 taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer 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).
Di panel Koneksi , klik koneksi server yang ingin Anda tambahkan modul aslinya.
Di panel Beranda , klik dua kali Pemetaan Handler.
Pada panel Tindakan , klik Tambahkan Handler Terkelola...
Dalam kotak dialog Tambahkan Handler Terkelola , tentukan hal berikut ini:
Jalur Permintaan. Nama file atau ekstensi nama file yang akan dipetakan.
Jenis. Nama jenis (kelas) handler terkelola. Jika handler didefinisikan dalam folder app_code atau bin aplikasi, nama jenisnya akan muncul di daftar drop-down.
Nama. Nama deskriptif.
Klik OK untuk menutup kotak dialog Tambahkan Handler Terkelola .
Cara membuat pemetaan handler FastCGI
Buka Manajer 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 Manajer 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 taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer 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).
Di panel Koneksi , klik nama server yang ingin Anda konfigurasikan pemetaan handler FastCGI-nya.
Di panel Beranda , klik dua kali Pemetaan Handler.
Di panel Tindakan , klik Tambahkan Pemetaan Modul...
Catatan
Agar langkah berikutnya berfungsi, Anda harus sudah menginstal biner yang akan menjalankan jalur file atau ekstensi nama file yang Anda tentukan. Contoh ini menggunakan implementasi PHP yang tersedia dari situs Web Microsoft.
Ketik ekstensi nama file, seperti.php di kotak Jalur permintaan , klik FastCGIModule di daftar drop-down Modul, ketik jalur ke mesin skrip (dalam contoh ini, PHP-CGI.exe) dalam kotak Dapat Dieksekusi , lalu klik OK.
Pada kotak dialog Tambahkan Pemetaan Modul , klik Ya.
Konfigurasi
Atribut
Atribut | Deskripsi | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
allowPathInfo |
Atribut Boolean opsional. Menentukan apakah handler memproses informasi jalur lengkap dalam URI, seperti contoso/marketing/imageGallery.aspx. Jika nilainya benar, handler memproses jalur lengkap, contoso/marketing/imageGallery. Jika nilainya false, handler hanya memproses bagian terakhir dari jalur, /imageGallery. Nilai defaultnya adalah false . |
||||||||||||||
modules |
Atribut string opsional. Menentukan nama modul atau modul yang ingin Anda petakan nama file atau nama file dengan ekstensi. Jika Anda menentukan lebih dari satu nilai, pisahkan nilai dengan koma (,). Nilai defaultnya adalah ManagedPipelineHandler . |
||||||||||||||
name |
Atribut string yang diperlukan. Menentukan nama unik pemetaan handler. |
||||||||||||||
path |
Atribut string yang diperlukan. Menentukan nama file atau ekstensi nama file tempat pemetaan handler diterapkan. |
||||||||||||||
preCondition |
Atribut string opsional. Menentukan kondisi di mana handler akan berjalan. Atribut preCondition dapat berupa satu atau beberapa nilai yang mungkin berikut ini. Jika Anda menentukan lebih dari satu nilai, pisahkan nilai dengan koma (,).
|
||||||||||||||
requireAccess |
Atribut enum opsional. Menentukan jenis akses yang diperlukan handler ke sumber daya. Atribut requireAccess dapat berupa satu atau beberapa nilai yang mungkin berikut ini. Jika Anda menentukan lebih dari satu nilai, pisahkan nilai dengan koma (,). Nilai defaultnya adalah Script .
|
||||||||||||||
resourceType |
Atribut string opsional. Menentukan jenis sumber daya yang diterapkan pemetaan handler. Atribut resourceType dapat menjadi salah satu dari kemungkinan nilai berikut. Nilai defaultnya adalah Unspecified .
|
||||||||||||||
responseBufferLimit |
Atribut uint opsional. Menentukan ukuran maksimum, dalam byte, dari buffer respons untuk penangan permintaan. Nilai defaultnya adalah 4194304 byte. |
||||||||||||||
scriptProcessor |
Atribut string opsional. Menentukan jalur fisik file .dll ekstensi ISAPI atau file .exe Antarmuka Gateway Umum (CGI) yang memproses permintaan. Atribut scriptProcessor hanya diperlukan untuk pemetaan penangan peta skrip. Saat memetakan handler ke ekstensi ISAPI, Anda harus menentukan ISAPIModule untuk atribut modul. Saat memetakan handler ke file CGI, Anda harus menentukan CGIModule untuk atribut modul. |
||||||||||||||
type |
Atribut string opsional. Menentukan jalur namespace dari handler terkelola. Atribut jenis hanya diperlukan untuk handler terkelola. |
||||||||||||||
verb |
Atribut string yang diperlukan. Menentukan kata kerja HTTP tempat pemetaan handler diterapkan. |
Elemen Anak
Tidak ada.
Sampel Konfigurasi
Contoh berikut berisi dua <add>
elemen yang menentukan pemetaan handler. Elemen pertama <add>
mendefinisikan handler SampleHandler untuk aplikasi Web yang berjalan dalam mode Terintegrasi IIS 7. Jika Anda menambahkan rakitan handler ke direktori app_code untuk aplikasi Web, Anda tidak perlu menyertakan nama rakitan dalam nilai untuk atribut jenis . Elemen kedua <add>
mendefinisikan pemetaan untuk permintaan PHP yang menggunakan modul FastCGI.
<handlers>
<add name="SampleHandler" verb="*"
path="SampleHandler.new"
type="SampleHandler, SampleHandlerAssembly"
resourceType="Unspecified" />
<add name="PHP-FastCGI" verb="*"
path="*.php"
modules="FastCgiModule"
scriptProcessor="c:\php\php-cgi.exe"
resourceType="Either" />
</handlers>
Kode Sampel
Contoh berikut menambahkan pemetaan FastCGI untuk modul PHP, lalu menambahkan handler di situs Web Contoso yang akan memproses permintaan PHP.
AppCmd.exe
appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='c:\php\php-cgi.exe']" /commit:apphost
appcmd.exe set config "Contoso" -section:system.webServer/handlers /+"[name='PHP-FastCGI',path='*.php',verb='GET,HEAD,POST',modules='FastCgiModule',scriptProcessor='c:\php\php-cgi.exe',resourceType='Either']"
Catatan
Contoh kedua ini menunjukkan cara menambahkan pemetaan handler ASP.NET baru bernama SampleHandler.new untuk URL tertentu ke aplikasi Web.
appcmd.exe set config /section:system.webServer/handlers /+[name=SampleHandler',path='SampleHandler.new',verb='*',type='SampleHandler']
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration appHostConfig = serverManager.GetApplicationHostConfiguration();
ConfigurationSection fastCgiSection = appHostConfig.GetSection("system.webServer/fastCgi");
ConfigurationElementCollection fastCgiCollection = fastCgiSection.GetCollection();
ConfigurationElement applicationElement = fastCgiCollection.CreateElement("application");
applicationElement["fullPath"] = @"c:\php\php-cgi.exe";
fastCgiCollection.Add(applicationElement);
Configuration webConfig = serverManager.GetWebConfiguration("Contoso");
ConfigurationSection handlersSection = webConfig.GetSection("system.webServer/handlers");
ConfigurationElementCollection handlersCollection = handlersSection.GetCollection();
ConfigurationElement addElement = handlersCollection.CreateElement("add");
addElement["name"] = @"PHP-FastCGI";
addElement["path"] = @"*.php";
addElement["verb"] = @"GET,HEAD,POST";
addElement["modules"] = @"FastCgiModule";
addElement["scriptProcessor"] = @"c:\php\php-cgi.exe";
addElement["resourceType"] = @"Either";
handlersCollection.AddAt(0, 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 appHostConfig As Configuration = serverManager.GetApplicationHostConfiguration
Dim fastCgiSection As ConfigurationSection = appHostConfig.GetSection("system.webServer/fastCgi")
Dim fastCgiCollection As ConfigurationElementCollection = fastCgiSection.GetCollection
Dim applicationElement As ConfigurationElement = fastCgiCollection.CreateElement("application")
applicationElement("fullPath") = "c:\php\php-cgi.exe"
fastCgiCollection.Add(applicationElement)
Dim webConfig As Configuration = serverManager.GetWebConfiguration("Contoso")
Dim handlersSection As ConfigurationSection = webConfig.GetSection("system.webServer/handlers")
Dim handlersCollection As ConfigurationElementCollection = handlersSection.GetCollection
Dim addElement As ConfigurationElement = handlersCollection.CreateElement("add")
addElement("name") = "PHP-FastCGI"
addElement("path") = "*.php"
addElement("verb") = "GET,HEAD,POST"
addElement("modules") = "FastCgiModule"
addElement("scriptProcessor") = "c:\php\php-cgi.exe"
addElement("resourceType") = "Either"
handlersCollection.AddAt(0, addElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var fastCgiSection = adminManager.GetAdminSection("system.webServer/fastCgi", "MACHINE/WEBROOT/APPHOST");
var fastCgiCollection = fastCgiSection.Collection;
var applicationElement = fastCgiCollection.CreateNewElement("application");
applicationElement.Properties.Item("fullPath").Value = "c:\\php\\php-cgi.exe";
fastCgiCollection.AddElement(applicationElement);
adminManager.CommitChanges();
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso";
var handlersSection = adminManager.GetAdminSection("system.webServer/handlers", "MACHINE/WEBROOT/APPHOST/Contoso");
var handlersCollection = handlersSection.Collection;
var addElement = handlersCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "PHP-FastCGI";
addElement.Properties.Item("path").Value = "*.php";
addElement.Properties.Item("verb").Value = "GET,HEAD,POST";
addElement.Properties.Item("modules").Value = "FastCgiModule";
addElement.Properties.Item("scriptProcessor").Value = "c:\\php\\php-cgi.exe";
addElement.Properties.Item("resourceType").Value = "Either";
handlersCollection.AddElement(addElement, 0);
adminManager.CommitChanges();
Vbscript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set fastCgiSection = adminManager.GetAdminSection("system.webServer/fastCgi", "MACHINE/WEBROOT/APPHOST")
Set fastCgiCollection = fastCgiSection.Collection
Set applicationElement = fastCgiCollection.CreateNewElement("application")
applicationElement.Properties.Item("fullPath").Value = "c:\php\php-cgi.exe"
fastCgiCollection.AddElement applicationElement
adminManager.CommitChanges()
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso"
Set handlersSection = adminManager.GetAdminSection("system.webServer/handlers", "MACHINE/WEBROOT/APPHOST/Contoso")
Set handlersCollection = handlersSection.Collection
Set addElement = handlersCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "PHP-FastCGI"
addElement.Properties.Item("path").Value = "*.php"
addElement.Properties.Item("verb").Value = "GET,HEAD,POST"
addElement.Properties.Item("modules").Value = "FastCgiModule"
addElement.Properties.Item("scriptProcessor").Value = "c:\php\php-cgi.exe"
addElement.Properties.Item("resourceType").Value = "Either"
handlersCollection.AddElement addElement, 0
adminManager.CommitChanges()