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 berisi <applicationPools>
pengaturan konfigurasi untuk semua kumpulan aplikasi yang berjalan di server Internet Information Services (IIS) 7 atau yang lebih baru. Kumpulan aplikasi mendefinisikan sekelompok satu atau beberapa proses pekerja, dikonfigurasi dengan pengaturan umum yang melayani permintaan ke satu atau beberapa aplikasi yang ditetapkan ke kumpulan aplikasi tersebut. Karena kumpulan aplikasi memungkinkan sekumpulan aplikasi Web untuk berbagi satu atau beberapa proses pekerja yang dikonfigurasi dengan serupa, mereka menyediakan cara mudah untuk mengisolasi sekumpulan aplikasi Web dari aplikasi Web lain di komputer server. Batas proses memisahkan setiap proses pekerja; oleh karena itu, masalah aplikasi dalam satu kumpulan aplikasi tidak memengaruhi situs Web atau aplikasi di kumpulan aplikasi lain. Kumpulan aplikasi secara signifikan meningkatkan keandalan dan pengelolaan infrastruktur Web Anda.
Anda dapat memilih untuk menggunakan kumpulan aplikasi default yang disediakan oleh IIS saat diinstal, atau Anda dapat membuat kumpulan aplikasi Anda sendiri. Anda dapat menjalankan kumpulan aplikasi sebanyak mungkin di server IIS 7 dan yang lebih baru sesuai kebutuhan Anda, meskipun hal ini dapat memengaruhi performa server. Kumpulan aplikasi dapat berisi satu atau beberapa proses pekerja. Setiap proses pekerja mewakili pekerjaan yang sedang dilakukan untuk situs Web, aplikasi Web, atau layanan Web. Anda dapat membuat taman Web dengan mengaktifkan beberapa proses pekerja untuk berjalan dalam satu kumpulan aplikasi.
Di IIS 7 dan yang lebih baru, setiap kumpulan aplikasi menggunakan salah satu dari dua mode integrasi .NET untuk menjalankan aplikasi ASP.NET: Terintegrasi atau Klasik. Mode integrasi .NET yang ditentukan untuk kumpulan aplikasi menentukan bagaimana IIS memproses permintaan masuk ke situs, aplikasi, dan layanan Web yang berjalan di kumpulan aplikasi tersebut.
- Mode terintegrasi memungkinkan IIS memproses permintaan di kumpulan aplikasi dengan menggunakan alur terintegrasi IIS 7 dan yang lebih baru. Ini memungkinkan ASP.NET modul untuk berpartisipasi dalam pemrosesan permintaan IIS terlepas dari jenis sumber daya yang diminta. Menggunakan mode terintegrasi membuat fitur yang tersedia dari alur permintaan ASP.NET 2.0 tersedia untuk permintaan konten statis, serta ASP, PHP, dan jenis konten lainnya. Secara default, kumpulan aplikasi IIS 7 dan yang lebih baru berjalan dalam mode ini.
- Mode klasik menggunakan alur pemrosesan IIS 6.0 untuk menghosting aplikasi ASP.NET. Dalam mode ini, permintaan diproses pada awalnya melalui modul IIS 7 dan yang lebih baru, dan permintaan ASP.NET diproses lebih lanjut oleh aspnet_isapi.dll. Alur pemrosesan ASP.NET terpisah dari alur pemrosesan IIS 7 dan yang lebih baru, dan fitur alur pemrosesan permintaan ASP.NET tidak tersedia untuk jenis sumber daya lainnya. Ini juga berarti bahwa permintaan ASP.NET harus melewati modul autentikasi dan otorisasi di kedua model proses. Meskipun ini tidak seefisien mode Terintegrasi, ini memungkinkan Anda untuk menjalankan aplikasi yang dikembangkan menggunakan ASP.NET versi 1.1 pada server IIS 7 dan yang lebih baru tanpa memodifikasi aplikasi untuk berjalan dalam mode Terintegrasi.
Baru di IIS 7.5 dan yang lebih baru
Mulai dari IIS 7.5, Anda dapat mengonfigurasi aplikasi untuk memulai secara otomatis dengan menggunakan atribut managedRuntimeLoader, CLRConfigFile, dan startMode elemen <add>
. Atribut ini masing-masing mengonfigurasi nama DLL terkelola yang menyediakan pemuatan runtime untuk aplikasi Anda, file konfigurasi runtime bahasa umum untuk aplikasi, dan jenis startup untuk aplikasi.
Juga baru di IIS 7.5 dan yang lebih baru adalah jenis baru ApplicationPoolIdentity
untuk atribut identityType dari <processModel>
elemen . Jenis identitas baru ini sekarang menjadi identitas proses default untuk aplikasi, dan memungkinkan untuk mengatur keamanan untuk area konten Anda untuk memungkinkan akses untuk kumpulan aplikasi tertentu. Untuk melakukannya, Anda akan mengatur keamanan Anda menggunakan nama kumpulan aplikasi dengan menggunakan sintaks seperti "IIS AppPool\DefaultAppPool." Identitas ini dibuat secara dinamis, sehingga secara dramatis mengurangi area serangan permukaan server Anda.
Kompatibilitas
Versi | Catatan |
---|---|
IIS 10.0 | Elemen <applicationPools> tidak dimodifikasi di IIS 10.0. |
IIS 8.5 | Elemen <applicationPools> tidak dimodifikasi di IIS 8.5. |
IIS 8.0 | Elemen <applicationPools> tidak dimodifikasi di IIS 8.0. |
IIS 7.5 |
<add> Elemen <applicationPools> elemen diperbarui di IIS 7.5 untuk menyertakan atribut yang memungkinkan Anda memuat aplikasi sebelumnya dengan menggunakan atribut managedRuntimeLoader, CLRConfigFile, dan startMode, dan untuk menjalankan aplikasi menggunakan ApplicationPoolIdentity baru. |
IIS 7.0 | Elemen <applicationPools> ini diperkenalkan di IIS 7.0. |
IIS 6.0 | Elemen menggantikan <applicationPools> objek metabase IIS 6.0 IIsApplicationPools . |
Siapkan
Koleksi <applicationPools>
disertakan dalam penginstalan default IIS 7 dan yang lebih baru.
Bagaimana Caranya
Cara membuat kumpulan aplikasi baru
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 , perluas nama server, lalu klik Kumpulan Aplikasi.
Di panel Tindakan , klik Tambahkan Kumpulan Aplikasi....
Dalam kotak dialog Tambahkan Kumpulan Aplikasi, masukkan nama kumpulan aplikasi dalam kotak Nama: , dalam versi .NET Framework: daftar drop-down pilih versi .NET Framework yang digunakan situs atau aplikasi Anda, dalam mode alur Terkelola: daftar drop-down pilih Terintegrasi atau Klasik, lalu klik OK.
Cara mengonfigurasi kumpulan aplikasi untuk situs atau aplikasi yang ada
- Di panel Koneksi , perluas Situs, lalu navigasikan ke situs Web atau aplikasi yang ingin Anda tambahkan ke kumpulan aplikasi.
- Di panel Tindakan , klik Pengaturan Tingkat Lanjut...
- Di bagian Umum dari kotak dialog Pengaturan Tingkat Lanjut , klik entri Kumpulan Aplikasi , lalu klik tombol elipsis.
- Dalam kotak dialog Pilih Kumpulan Aplikasi , pilih kumpulan aplikasi dari kotak drop-down Kumpulan aplikasi: , klik OK, lalu klik OK lagi.
Konfigurasi
Elemen <applicationPools>
berisi kumpulan <add>
elemen. Setiap elemen dalam koleksi mengonfigurasi kumpulan aplikasi yang berjalan di IIS 7 dan yang lebih baru. Minimal, setiap <add>
elemen berisi atribut nama yang mengidentifikasi kumpulan aplikasi ke GUI dan alat manajemen baris perintah. Elemen <add>
berisi elemen anak yang mengonfigurasi model proses, CPU, dan pengaturan daur ulang untuk kumpulan aplikasi.
Elemen ini <applicationPools>
juga berisi <applicationPoolDefaults>
elemen , yang menentukan pengaturan default untuk semua kumpulan aplikasi di IIS 7 dan server yang lebih baru. Untuk mengubah pengaturan kumpulan aplikasi default di seluruh server, Anda dapat mengedit <applicationPoolDefaults>
elemen . Saat Anda membuat kumpulan aplikasi baru, pengaturan konfigurasi untuk kumpulan aplikasi tersebut mengambil alih default yang diatur dalam <applicationPoolDefaults>
elemen .
Atribut
Tidak ada.
Elemen Anak
Elemen | Deskripsi |
---|---|
add |
Menambahkan kumpulan aplikasi ke bagian applicationPools. |
applicationPoolDefaults |
Atribut string yang diperlukan. Mengonfigurasi pengaturan default untuk semua kumpulan aplikasi di bagian applicationPools. |
Sampel Konfigurasi
Sampel konfigurasi berikut menggunakan kumpulan <add>
aplikasi dan <applicationPools>
elemen untuk menentukan kumpulan aplikasi standar dan default untuk IIS.
<applicationPools>
<add name="DefaultAppPool" />
<add name="Classic .NET AppPool" managedPipelineMode="Classic" />
<applicationPoolDefaults>
<processModel identityType="NetworkService" />
</applicationPoolDefaults>
</applicationPools>
Kode Sampel
Contoh berikut menambahkan kumpulan aplikasi bernama Contoso, dan mengatur mode alur terkelola ke Terintegrasi.
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/applicationPools /+"[name='Contoso',autoStart='True',managedPipelineMode='Integrated']" /commit:apphost
Catatan
Anda harus memastikan untuk mengatur parameter penerapan ke apphost
saat Anda menggunakan AppCmd.exe untuk mengonfigurasi pengaturan ini. Ini menerapkan pengaturan konfigurasi ke bagian lokasi yang sesuai dalam file 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 applicationPoolsSection = config.GetSection("system.applicationHost/applicationPools");
ConfigurationElementCollection applicationPoolsCollection = applicationPoolsSection.GetCollection();
ConfigurationElement addElement = applicationPoolsCollection.CreateElement("add");
addElement["name"] = @"Contoso";
addElement["autoStart"] = true;
addElement["managedPipelineMode"] = @"Integrated";
applicationPoolsCollection.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.GetApplicationHostConfiguration
Dim applicationPoolsSection As ConfigurationSection = config.GetSection("system.applicationHost/applicationPools")
Dim applicationPoolsCollection As ConfigurationElementCollection = applicationPoolsSection.GetCollection
Dim addElement As ConfigurationElement = applicationPoolsCollection.CreateElement("add")
addElement("name") = "Contoso"
addElement("autoStart") = True
addElement("managedPipelineMode") = "Integrated"
applicationPoolsCollection.Add(addElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var applicationPoolsSection = adminManager.GetAdminSection("system.applicationHost/applicationPools",
"MACHINE/WEBROOT/APPHOST");
var applicationPoolsCollection = applicationPoolsSection.Collection;
var addElement = applicationPoolsCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "Contoso";
addElement.Properties.Item("autoStart").Value = true;
addElement.Properties.Item("managedPipelineMode").Value = "Integrated";
applicationPoolsCollection.AddElement(addElement);
adminManager.CommitChanges();
Vbscript
Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set applicationPoolsSection = adminManager.GetAdminSection("system.applicationHost/applicationPools","MACHINE/WEBROOT/APPHOST")
Set applicationPoolsCollection = applicationPoolsSection.Collection
Set addElement = applicationPoolsCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "Contoso"
addElement.Properties.Item("autoStart").Value = True
addElement.Properties.Item("managedPipelineMode").Value = "Integrated"
applicationPoolsCollection.AddElement(addElement)
adminManager.CommitChanges()