Bagikan melalui


ASP COM Plus <comPlus>

Elemen <comPlus><asp> elemen mengonfigurasi pengaturan COM+ berikut untuk Halaman Server Aktif (ASP) di Internet Information Services (IIS) 7:

  • Properti appServiceFlags berisi bendera yang harus diatur untuk mengaktifkan layanan COM+ pada aplikasi IIS 7 Anda. Setelah mengaktifkan bendera, Anda mungkin juga perlu mengatur properti lain. Untuk informasi selengkapnya, lihat bagian Konfigurasi nanti di artikel ini.

  • Atribut executeInMta menentukan apakah ASP dapat menjalankan skrip di apartemen multithreaded. ASP mampu menjalankan semua utasnya di apartemen multi-utas (MTA). Jika komponen COM Anda terutama berutas bebas atau kedua utas, menjalankan utas ASP karena MTA dapat meningkatkan performa secara signifikan. Secara default, properti executeInMta diatur ke false, yang berarti bahwa ASP tidak dijalankan di MTA. Atur properti ini ke true di tingkat aplikasi untuk mengaktifkan ASP agar berjalan di MTA.

  • Atribut partitionId menentukan Pengidentifikasi Unik Global (GUID) dari partisi COM+, yang digunakan untuk mengisolasi aplikasi Web ke dalam partisi COM+ mereka sendiri. Partisi COM+ menyimpan versi yang berbeda dari komponen COM kustom Anda sendiri.

    Catatan

    Jika Anda menentukan nilai untuk atribut partitionId , Anda juga perlu mengatur bendera UsePartition dari atribut appServiceFlags .

  • Atribut sxsName menentukan nama aplikasi COM+, dan memungkinkan rakitan berdampingan (SxS). Rakitan berdampingan (SxS) memungkinkan aplikasi ASP menentukan versi DLL sistem yang didukung SxS untuk digunakan, seperti MSVCRT, MSXML, COMCTL, GDIPLUS, dan sebagainya.

    Catatan

    Jika Anda menentukan nilai untuk atribut sxsName , Anda juga harus mengatur bendera EnableSxS dari atribut appServiceFlags .

  • Atribut trackThreadingModel menentukan apakah IIS 7 memeriksa model utas komponen apa pun (objek COM) yang dibuat aplikasi Anda. Pengaturan yang disukai dari atribut metabase ini adalah false. Jika trackThreadingModel diatur ke true, kondisi berikut berlaku:

    • ASP menggunakan sumber daya sistem untuk melacak model utas, mengurangi performa aplikasi ASP Anda.

    • Objek yang dibuat di aplikasi ASP Anda di luar metode OnStartPage atau OnEndPage dirilis lebih awal dari yang diharapkan, yang menyebabkan degradasi skalabilitas aplikasi Anda dan dapat mencegah komponen Anda menulis ke respons dalam metode destruktor objek.

      Jika atribut trackThreadingModel diatur ke false, dan Anda memberikan cakupan aplikasi ke komponen yang Anda buat, komponen tersebut harus menggabungkan marshaler utas bebas. Jika Anda tidak mengagregasi marshaler berulir bebas, ASP menghasilkan kesalahan ketika Anda mencoba membuat instans komponen. Untuk informasi selengkapnya, lihat Memilih Model Utas untuk Komponen di IIS.

Kompatibilitas

Versi Catatan
IIS 10.0 Elemen <comPlus> tidak dimodifikasi di IIS 10.0.
IIS 8.5 Elemen <comPlus> tidak dimodifikasi di IIS 8.5.
IIS 8.0 Elemen <comPlus> tidak dimodifikasi di IIS 8.0.
IIS 7.5 Elemen <comPlus> tidak dimodifikasi dalam IIS 7.5.
IIS 7.0 Elemen <comPlus><asp> elemen diperkenalkan di IIS 7.0.
IIS 6.0 Elemen menggantikan <comPlus> properti metabase IIS 6.0 berikut:
  • AspAppServiceFlags
  • AspExecuteInMTA
  • AspPartitionID
  • AspSxsName
  • AspTrackThreadingModel

Siapkan

Untuk mendukung dan mengonfigurasi aplikasi ASP di server Web, Anda harus menginstal modul ASP. Untuk menginstal modul ASP, gunakan langkah-langkah berikut.

Windows Server 2012 atau Windows Server 2012 R2

  1. Pada taskbar, klik Manajer Server. - Di Manajer Server, klik menu Kelola , lalu klik Tambahkan Peran dan Fitur. - Di wizard Tambahkan Peran dan Fitur , klik Berikutnya. Pilih jenis penginstalan dan klik Berikutnya. Pilih server tujuan dan klik Berikutnya. - Pada halaman Peran Server , perluas Server Web (IIS), perluas Server Web, perluas Pengembangan Aplikasi, lalu pilih ASP.

    Cuplikan layar panel Server Web dan Pengembangan Aplikasi diperluas dengan A S P dipilih.

    Jika kotak dialog Tambahkan fitur yang diperlukan oleh ASP? muncul, klik Tambahkan Fitur. (Halaman ini hanya muncul jika Anda belum menginstal layanan peran Ekstensi ISAPI di server Anda.) - Pada halaman Peran Server , klik Berikutnya. - Pada halaman Pilih fitur , klik Berikutnya. - Pada halaman Konfirmasi pilihan penginstalan , klik Instal. - 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 ASP.

    Cuplikan layar memperlihatkan simpul World Wide Web Services dan Fitur Pengembangan Aplikasi yang diperluas dengan A S P dipilih.

    Catatan

    Peran Ekstensi ISAPI akan dipilih jika belum diinstal.

  4. Klik OK.

  5. Klik Tutup.

Windows Server 2008 atau Windows Server 2008 R2

  1. Pada taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer Server.
  2. Di panel hierarki Manajer Server , perluas Peran, lalu klik Server Web (IIS).
  3. Di panel Server Web (IIS), gulir ke bagian Layanan Peran , lalu klik Tambahkan Layanan Peran.
  4. Pada halaman Pilih Layanan Peran dari Wizard Tambahkan Layanan Peran, pilih ASP.
    Cuplikan layar halaman Pilih Layanan Peran memperlihatkan simpul Pengembangan Aplikasi diperluas dan A S P dipilih.
  5. Jika kotak dialog Tambahkan layanan peran yang diperlukan oleh ASP muncul, klik Tambahkan Layanan Peran yang Diperlukan. (Halaman ini hanya muncul jika Anda belum menginstal layanan peran Ekstensi ISAPI di server Anda.)
    Cuplikan layar kotak dialog Tambahkan layanan peran yang diperlukan oleh S P dengan Server Web I I S dipilih.
  6. Pada halaman Pilih Layanan Peran , klik Berikutnya.
  7. Pada halaman Konfirmasi Pilihan Penginstalan , klik Instal.
  8. Pada halaman Hasil , klik Tutup.

Windows Vista atau Windows 7

  1. Pada taskbar, klik 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, lalu World Wide Web Services, lalu Fitur Pengembangan Aplikasi.

  4. Pilih ASP, lalu klik OK.

    Cuplikan layar panel Layanan Informasi Internet dan Fitur Pengembangan Aplikasi diperluas dengan A S P dipilih.

Bagaimana Caranya

Cara mengonfigurasi pengaturan status sesi ASP untuk situs atau aplikasi

  1. 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).
  2. Di panel Koneksi , perluas nama server, perluas Situs, lalu navigasikan ke situs Web atau aplikasi Web yang ingin Anda konfigurasi.

  3. Di panel Beranda situs atau aplikasi, klik dua kali ASP.
    Cuplikan layar panel Beranda memperlihatkan A S P dipilih.

  4. Di panel ASP , perluas bagian Properti Com Plus dan konfigurasikan pengaturan yang Anda inginkan.
    Cuplikan layar panel S P yang menampilkan bagian Properti Com Plus disorot.

  5. Klik Terapkan di panel Tindakan .

Konfigurasi

Atribut

Atribut Deskripsi
appServiceFlags Atribut bendera opsional.

Berisi bendera yang harus diatur untuk mengaktifkan layanan COM+ pada aplikasi IIS Anda.

Atribut appServiceFlags dapat menjadi salah satu nilai yang mungkin berikut. Nilai defaultnya adalah None.
Nilai Deskripsi
None Menentukan bahwa tidak ada bendera yang ditetapkan.

Nilai numerik adalah 0.
EnableTracker Mengatur bendera ini memungkinkan pelacak COM+, yang memungkinkan administrator atau pengembang untuk men-debug aplikasi ASP.

Nilai numerik adalah 1.
EnableSxS Mengatur bendera ini memungkinkan rakitan berdampingan COM+, yang memungkinkan aplikasi ASP menentukan versi DLL sistem atau komponen COM klasik mana yang akan digunakan, seperti WinHTTP 5.1, Shell Common Controls versi 6.0 (Comctl32.dll), GDI Plus versi 1.0 (GDIplus.dll), dan Pustaka Run-time Visual C++ versi 6.0. Jika bendera ini diatur, Anda juga harus menentukan nilai untuk atribut sxsName .

Nilai numerik adalah 2.
UsePartition Mengatur bendera ini memungkinkan partisi COM+, yang dapat digunakan untuk mengisolasi aplikasi Web ke dalam partisi COM+ mereka sendiri. Partisi COM+ dapat menyimpan berbagai versi komponen COM kustom Anda sendiri. Jika bendera ini diatur, Anda juga harus menentukan nilai untuk atribut partitionId .

Nilai numerik adalah 4.
executeInMta Atribut Boolean opsional.

Menentukan apakah ASP berjalan di lingkungan multithreaded.

Nilai defaultnya adalah false.
partitionId Atribut string opsional.

Menentukan Pengidentifikasi Unik Global (GUID) dari partisi COM+.

Catatan: Atribut ini diperlukan ketika atribut appServiceFlags diatur ke UsePartition

Nilai defaultnya adalah 00000000-0000-0000-0000-000000000000.
sxsName Atribut string opsional.

Catatan: Atribut ini diperlukan saat atribut appServiceFlags diatur ke EnableSxS.

Menentukan nama aplikasi COM+.
trackThreadingModel Atribut Boolean opsional.

Menentukan apakah pemeriksaan model utas diaktifkan. Nilai benar berarti bahwa IIS menghormati model utas komponen yang dibuat aplikasi.

Nilai defaultnya adalah false.

Elemen Anak

Tidak ada.

Sampel Konfigurasi

Sampel konfigurasi berikut menunjukkan cara mengonfigurasi IIS untuk mengaktifkan pemeriksaan model utas dan mengonfigurasi ASP untuk dijalankan dalam kompartemen multithread.

<configuration>
   <system.webServer>
      <asp>
         <comPlus trackThreadingModel="true" executeInMta="true" />
      </asp>
   </system.webServer>
</configuration>

Kode Sampel

Sampel kode berikut menunjukkan cara mengonfigurasi IIS untuk mengaktifkan pemeriksaan model utas dan mengonfigurasi ASP untuk dijalankan dalam kompartemen multithread.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/asp /comPlus.trackThreadingModel:"True" /commit:apphost
appcmd.exe set config "Default Web Site" -section:system.webServer/asp /comPlus.executeInMta:"True" /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 aspSection = config.GetSection("system.webServer/asp", "Default Web Site");

         ConfigurationElement comPlusElement = aspSection.GetChildElement("comPlus");
         comPlusElement["trackThreadingModel"] = true;
         comPlusElement["executeInMta"] = true;

         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 aspSection As ConfigurationSection = config.GetSection("system.webServer/asp", "Default Web Site")

      Dim comPlusElement As ConfigurationElement = aspSection.GetChildElement("comPlus")
      comPlusElement("trackThreadingModel") = True
      comPlusElement("executeInMta") = True

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

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

var aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var comPlusElement = aspSection.ChildElements.Item("comPlus");
comPlusElement.Properties.Item("trackThreadingModel").Value = true;
comPlusElement.Properties.Item("executeInMta").Value = true;

adminManager.CommitChanges();

Vbscript

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

Set aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set comPlusElement = aspSection.ChildElements.Item("comPlus")
comPlusElement.Properties.Item("trackThreadingModel").Value = True
comPlusElement.Properties.Item("executeInMta").Value = True

adminManager.CommitChanges()