Bagikan melalui


ApplicationInitialization Inisialisasi <Aplikasi>

Gambaran Umum

Elemen <applicationInitialization> menentukan bahwa inisialisasi aplikasi web dilakukan secara proaktif sebelum permintaan diterima. Aplikasi dapat dimulai lebih cepat jika urutan inisialisasi seperti menginisialisasi koneksi, priming cache dalam memori, menjalankan kueri, dan mengompilasi kode halaman dilakukan sebelum permintaan HTTP diterima. Inisialisasi Aplikasi dapat memulai proses inisialisasi secara otomatis setiap kali aplikasi dimulai. Inisialisasi aplikasi tidak selalu membuat proses inisialisasi berjalan lebih cepat; itu memulai proses lebih cepat.

Inisialisasi aplikasi juga memungkinkan Anda meningkatkan pengalaman pengguna selama inisialisasi dengan mengalihkan permintaan ke halaman statis, seperti tempat penampung atau layar percikan. Setelah situs dimuat, situs akan berhenti memetakan permintaan terkelola ke halaman statis, dan akan mulai menyajikan konten dinamis. Saat menggunakan atribut remapManagedRequestsTo dalam <applicationInitialization> elemen , Anda hanya dapat memetakan permintaan terkelola ke satu halaman. Namun, inisialisasi aplikasi dapat digunakan bersama dengan modul Penulisan Ulang Url IIS out-of-band untuk mendukung penanganan konten tempat penampung yang lebih kompleks, termasuk pemetaan kompleks ke konten statis yang telah dibuat sebelumnya.

Selain inisialisasi aplikasi, Anda dapat mengaktifkan proses inisialisasi untuk dimulai setiap kali kumpulan aplikasi dimulai. Anda melakukannya dengan mengatur atribut preLoadEnabled dalam <application> elemen ke "true". Agar ini terjadi, mode mulai dalam <applicationPool> elemen harus diatur ke AlwaysRunning.

Kompatibilitas

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

Siapkan

Untuk mendukung inisialisasi aplikasi di server Web, Anda harus menginstal peran atau fitur Inisialisasi Aplikasi.

Windows Server 2012 atau Windows Server 2012 R2

  1. Pada taskbar, klik Manajer Server.
  2. Di Manajer Server, klik menu Kelola , lalu klik Tambahkan Peran dan Fitur.
  3. Di wizard Tambahkan Peran dan Fitur , klik Berikutnya. Pilih jenis penginstalan dan klik Berikutnya. Pilih server tujuan dan klik Berikutnya.
  4. Pada halaman Peran Server, perluas Server Web (IIS), perluas Server Web, perluas Pengembangan Aplikasi, lalu pilih Inisialisasi Aplikasi. Klik Berikutnya.
    Cuplikan layar yang memperlihatkan panel Peran. Inisialisasi Aplikasi disorot dan diperiksa. .
  5. Pada halaman Pilih Fitur , klik Berikutnya.
  6. Pada halaman Konfirmasi pilihan instalasi, klik Instal.
  7. Pada halaman Hasil , klik Tutup.

Windows 8 atau Windows 8.1

  1. Pada layar Mulai, pindahkan penunjuk ke sudut kiri bawah, klik kanan tombol Mulai, lalu klik Panel Kontrol.
  2. Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan fitur Windows.
  3. Perluas Layanan Informasi Internet, perluas World Wide Web Services, perluas Fitur Pengembangan Aplikasi, lalu pilih Inisialisasi Aplikasi.
    Cuplikan layar yang memperlihatkan panel Fitur Windows. Inisialisasi Aplikasi disorot dan diaktifkan.
  4. Klik OK.
  5. Klik Tutup.

Bagaimana Caranya

Cara mengonfigurasi inisialisasi aplikasi

  1. Buka Pengelola Layanan Informasi Internet (IIS):

    • Jika Anda menggunakan Windows Server 2012 atau yang lebih baru:

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

      • Tahan tombol Windows, tekan huruf X, lalu klik Panel Kontrol.
      • Klik Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
  2. Di panel Koneksi , pilih server, atau perluas server, perluas Situs, lalu pilih situs.

  3. Di panel Beranda , klik dua kali fitur Editor Konfigurasi .

  4. Jika Anda memilih situs, pilih <nama> situs Web.config di kotak teks Dari , lalu pilih system.webServer/applicationInitialization di kotak teks Bagian .

  5. Jika Anda memilih server, pilih system.webServer/applicationInitialization di kotak teks Bagian .

    Cuplikan layar yang memperlihatkan panel Editor Konfigurasi. Koleksi disorot.

  6. Untuk menentukan nama file statis yang akan dikembalikan selama inisialisasi, atur remapManagedRequestsTo ke nama file.

  7. Jika Anda tidak ingin memuat modul terkelola, atur skipManagedModules ke true.

  8. Untuk menentukan bahwa proses inisialisasi dimulai secara otomatis setiap kali aplikasi dimulai ulang, atur doAppInitAfterRestart ke true.

  9. Untuk menentukan aplikasi atau aplikasi yang akan diinisialisasi saat aplikasi dimulai ulang, klik baris (Koleksi) lalu klik elipsis.

  10. Di Editor Koleksi, untuk menambahkan aplikasi yang akan diinisialisasi, klik Tambahkan, klik hostName, lalu atur hostName ke nama host. Klik inisialisasiPage dan atur ke URL untuk aplikasi. Tutup kotak dialog.

    Cuplikan layar yang memperlihatkan panel Editor Koleksi. Nama host disorot dalam kotak Properti.

  11. Klik Terapkan di panel Tindakan .

Konfigurasi

Elemen dikonfigurasi <applicationInitialization> di tingkat server, situs, atau aplikasi.

Atribut

Atribut Deskripsi
doAppInitAfterRestart Atribut Boolean opsional.

Menentukan bahwa proses inisialisasi dimulai secara otomatis setiap kali aplikasi dimulai ulang. Perhatikan bahwa ini berbeda dari atribut preLoadEnabled dalam elemen aplikasi, yang menentukan bahwa proses inisialisasi dimulai setelah restart kumpulan aplikasi.

Nilai defaultnya adalah false.
remapManagedRequestsTo Atribut string opsional.

Menentukan halaman untuk memetakan ulang permintaan selama inisialisasi aplikasi.

Nilai defaultnya adalah "".
skipManagedModules Atribut Boolean opsional.

Menentukan apakah modul terkelola dimuat (false) atau tidak dimuat (true) selama inisialisasi.

Nilai defaultnya adalah false.

Elemen Anak

Elemen Deskripsi
add Elemen opsional.

Menentukan aplikasi yang akan diinisialisasi saat aplikasi dimulai ulang.

Sampel Konfigurasi

Contoh berikut menunjukkan konfigurasi inisialisasi aplikasi.

<system.webServer>
   <applicationInitialization
      doAppInitAfterRestart="true"
      skipManagedModules="true"
      remapManagedRequestsTo="filename.htm">
      <add initializationPage="/default.aspx" hostName="myhost"/>
   </applicationInitialization>
</system.webServer>

Kode Sampel

Contoh berikut mengonfigurasi <applicationInitialization> untuk situs.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/applicationInitialization /remapManagedRequestsTo:"HelloJoe.htm" /skipManagedModules:"True" /doAppInitAfterRestart:"True"  /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.webServer/applicationInitialization /+"[initializationPage='JoesSite.htm',hostName='JoesHost']" /commit:apphost

Catatan

Anda harus memastikan untuk mengatur parameter penerapan ke apphost saat 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 applicationInitializationSection = config.GetSection("system.webServer/applicationInitialization", "Default Web Site");
            applicationInitializationSection["remapManagedRequestsTo"] = @"HelloJoe.htm";
            applicationInitializationSection["skipManagedModules"] = true;
            applicationInitializationSection["doAppInitAfterRestart"] = true;
            
            ConfigurationElementCollection applicationInitializationCollection = applicationInitializationSection.GetCollection();
            
            ConfigurationElement addElement = applicationInitializationCollection.CreateElement("add");
            addElement["initializationPage"] = @"JoesSite.htm";
            addElement["hostName"] = @"JoesHost";
            applicationInitializationCollection.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 applicationInitializationSection As ConfigurationSection = config.GetSection("system.webServer/applicationInitialization", "Default Web Site")
         applicationInitializationSection("remapManagedRequestsTo") = "HelloJoe.htm"
         applicationInitializationSection("skipManagedModules") = true
         applicationInitializationSection("doAppInitAfterRestart") = true
         Dim applicationInitializationCollection As ConfigurationElementCollection = applicationInitializationSection.GetCollection
         Dim addElement As ConfigurationElement = applicationInitializationCollection.CreateElement("add")
         addElement("initializationPage") = "JoesSite.htm"
         addElement("hostName") = "JoesHost"
         applicationInitializationCollection.Add(addElement)
         serverManager.CommitChanges
     End Sub
 End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var applicationInitializationSection = adminManager.GetAdminSection("system.webServer/applicationInitialization", "MACHINE/WEBROOT/APPHOST/Default Web Site");
applicationInitializationSection.Properties.Item("remapManagedRequestsTo").Value = "HelloJoe.htm";
applicationInitializationSection.Properties.Item("skipManagedModules").Value = true;
applicationInitializationSection.Properties.Item("doAppInitAfterRestart").Value = true;

var applicationInitializationCollection = applicationInitializationSection.Collection;

var addElement = applicationInitializationCollection.CreateNewElement("add");
addElement.Properties.Item("initializationPage").Value = "JoesSite.htm";
addElement.Properties.Item("hostName").Value = "JoesHost";
applicationInitializationCollection.AddElement(addElement);

adminManager.CommitChanges();

Vbscript

Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set applicationInitializationSection = adminManager.GetAdminSection("system.webServer/applicationInitialization", "MACHINE/WEBROOT/APPHOST/Default Web Site")
applicationInitializationSection.Properties.Item("remapManagedRequestsTo").Value = "HelloJoe.htm"
applicationInitializationSection.Properties.Item("skipManagedModules").Value = true
applicationInitializationSection.Properties.Item("doAppInitAfterRestart").Value = true

Set applicationInitializationCollection = applicationInitializationSection.Collection

Set addElement = applicationInitializationCollection.CreateNewElement("add")
addElement.Properties.Item("initializationPage").Value = "JoesSite.htm"
addElement.Properties.Item("hostName").Value = "JoesHost"
applicationInitializationCollection.AddElement(addElement)

adminManager.CommitChanges()

PowerShell

Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'Default Web Site' -filter "system.webServer/applicationInitialization" -name "remapManagedRequestsTo" -value "HelloJoe.htm"
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'Default Web Site' -filter "system.webServer/applicationInitialization" -name "skipManagedModules" -value "True"
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'Default Web Site' -filter "system.webServer/applicationInitialization" -name "doAppInitAfterRestart" -value "True"

Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'Default Web Site' -filter "system.webServer/applicationInitialization" -name "." -value @{initializationPage='JoesSite.htm';hostName='JoesHost'}