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.
oleh Carlos Aguilar Mares
Alat Manajemen Web IIS 7.0 dan yang lebih baru adalah platform pengembang yang dapat diperluas. Pihak ketiga dapat mengembangkan dan menginstal fitur manajemen mereka sendiri yang muncul sebagai fitur kelas satu dalam alat. Tugas yang diilustrasikan dalam artikel ini meliputi:
- Membuat proyek di Microsoft Visual Studio atau Microsoft Visual C# Express sehingga pustaka dapat digunakan di dalam InetMgr
- Membuat penyedia modul sederhana
- Membuat modul sederhana yang menampilkan kotak pesan.
Tugas 1: Membuat Proyek
Untuk membuat modul ekstensibilitas untuk InetMgr, Anda harus membuat proyek DLL yang juga dikenal sebagai proyek Pustaka Kelas. DLL ini perlu diberi nama yang kuat sehingga dapat didaftarkan di GAC (Global Assembly Cache), yang merupakan persyaratan untuk Modul yang digunakan oleh InetMgr.
Klik Mulai, klik Program dan jalankan Microsoft Visual Studio 2005 atau Microsoft Visual C# 2005 Express Edition
Di Menu File pilih opsi Proyek Baru.
Dalam dialog Proyek Baru pilih Pustaka Kelas sebagai jenis proyek dan ketik ExtensibilityDemo sebagai nama proyek. Klik OK.
Hapus file Class1.cs yang ditambahkan secara default (karena kami tidak akan menggunakan file tersebut) menggunakan opsi Hapus menu konteks di Penjelajah Solusi.
Menggunakan opsi Tambahkan Referensi... dari Menu Proyek, tambahkan referensi ke Microsoft.Web.Management.dll menggunakan tab Telusuri dan cari di direktori \Windows\system32\inetsrv . Ini adalah DLL yang berisi semua kelas ekstensibilitas yang diperlukan untuk membuat modul untuk InetMgr.
Karena kita menggunakan kode untuk membuat UI berdasarkan WinForms, kita harus menambahkan referensi ke System.Windows.Forms.dll; untuk itu, gunakan opsi Tambahkan Referensi... dari Menu Proyek dan pilih System.Windows.Forms.dll dalam daftar rakitan the.NET.
Salah satu persyaratan untuk pustaka yang digunakan di dalam InetMgr adalah bahwa mereka harus terdaftar di dalam GAC. Pastikan DLL diberi nama yang kuat (terkadang disebut sebagai Ditandatangani). Visual Studio menawarkan cara mudah untuk membuat dan nama baru. Gunakan menu Proyek pilih opsi ExtensibilityDemo Properties.
Di tab Penandatanganan , centang kotak centang Tanda tangani perakitan .
Dalam kotak kombo, pilih opsi <Baru...> untuk membuat kunci baru. Dalam dialog Buat Kunci Nama Yang Kuat , ketik DemoKey.snk sebagai nama untuk kunci dan hapus centang pada kotak centang Lindungi file kunci saya dengan kata sandi . Klik OK.
Tab penandatanganan akan muncul sebagai berikut:
Karena kami ingin assembly berada di GAC, kami menambahkan beberapa peristiwa Pasca-build sehingga perakitan secara otomatis ditambahkan ke GAC setiap kali kami mengkompilasi. Ini membuat penelusuran kesalahan menjadi mudah, serta membuat perubahan saat kami menambahkan fungsionalitas baru.
Pilih tab Build Events dan tambahkan baris perintah Kejadian pasca-build berikut ini:
CALL "%VS80COMNTOOLS%\vsvars32.bat" > NULL gacutil.exe /if "$(TargetPath)"
(Opsional) Jika Anda menggunakan Microsoft Visual Studio 2005, siapkan penelusuran kesalahan dengan benar sehingga Anda dapat menggunakan F5 untuk menjalankan kode. Di properti proyek, pilih tab Debug dan atur untuk memulai program eksternal yang memilih \windows\system32\inetsrv\inetmgr.exe.
Tutup properti proyek dan pilih opsi Simpan Semua di Menu File, dan atur lokasi ke d:\Demos. Klik Simpan.
Sekarang Anda dapat mengkompilasi proyek menggunakan Build Solution di bawah menu Build. Ini secara otomatis membangun DLL dan menambahkannya ke GAC.
Catatan
Jika perintah untuk mengatur vsvars32.bat tidak berfungsi dengan kode kesalahan 9009, ganti perintah yang ditambahkan dalam peristiwa Post Build di langkah 8, dengan menambahkan jalur lengkap ke gacutil.exe, misalnya:
"D:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" /if "$(TargetPath)"
Tugas 2: Membuat Penyedia Modul
Dalam tugas ini, Anda membuat penyedia modul; ini adalah titik masuk utama untuk pendaftaran modul di InetMgr. Penyedia modul ini tercantum dalam Administration.config.
Pilih opsi Tambahkan Item Baru dari Menu Proyek. Dalam kotak dialog Tambahkan Item Baru, pilih templat Kelas dan ketik DemoModuleProvider.cs sebagai nama untuk file tersebut.
Ubah kode sehingga terlihat sebagai berikut:
using System; using System.Security; using Microsoft.Web.Management.Server; namespace ExtensibilityDemo { class DemoModuleProvider : ModuleProvider { public override Type ServiceType { get { return null; } } public override ModuleDefinition GetModuleDefinition(IManagementContext context) { return new ModuleDefinition(Name, typeof(DemoModule).AssemblyQualifiedName); } public override bool SupportsScope(ManagementScope scope) { return true; } } }
Kode ini membuat ModuleProvider yang mendukung semua jenis koneksi (Server, Situs, dan Aplikasi) dan mendaftarkan Modul sisi klien yang disebut DemoModule.
Tugas 3: Membuat Modul
Dalam tugas ini, Anda mempelajari cara membuat Modul. Modul adalah titik masuk utama dalam klien untuk semua objek ekstensibilitas. Ini memiliki satu metode utama yang disebut Inisialisasi. Itu adalah metode di mana semua tindakan terjadi.
Pilih opsi Tambahkan Item Baru di Menu Proyek. Pilih templat Kelas dan ketik DemoModule.cs sebagai nama file.
Ubah kode sehingga terlihat sebagai berikut:
using System; using System.Windows.Forms; using Microsoft.Web.Management.Client; using Microsoft.Web.Management.Server; namespace ExtensibilityDemo { internal class DemoModule : Module { protected override void Initialize(IServiceProvider serviceProvider, ModuleInfo moduleInfo) { base.Initialize(serviceProvider, moduleInfo); MessageBox.Show("Hello World Inside InetMgr"); } } }
Tugas 4: Menguji Modul
Dalam tugas ini, Anda menambahkan modul baru yang Anda buat. Untuk itu, kita harus menambahkannya ke file administration.config dalam daftar moduleProviders.
Pertama, kita harus mencari tahu nama lengkap untuk perakitan yang baru saja kita buat. Ini dalam bentuk "ExtensibilityDemo, Version=1.0.0.0, Culture=netral, PublicKeyToken={YourKey}". Gunakan Windows Explorer untuk menemukannya.
Buka Windows Explorer dan navigasikan ke folder *Windows\Assembly*.
Cari ExtensibilityDemo dalam daftar rakitan dan klik kanan dan pilih properti. Dalam dialog, Anda akan melihat bidang yang disebut Token Kunci Umum; kita membutuhkan nilai ini untuk mendaftarkannya ke InetMgr, jadi salin ke clipboard.
Kembali ke Microsoft Visual C# 2005 Express, pilih opsi Buka File... di bawah Menu File. Telusuri \Windows\System32\InetSrv\Administration.config file.
Cari <bagian moduleProviders> dan tambahkan hal berikut, tetapi pastikan Anda mengganti Token Kunci Umum dengan yang kami salin di langkah 2:
<moduleProviders> <add name="ExtensibilityDemo" type="ExtensibilityDemo.DemoModuleProvider, ExtensibilityDemo, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bed679b1975c7f97" /> <moduleProviders>Catatan
Dengan menambahkannya hanya ke daftar moduleProviders, Anda mendaftarkan modul hanya untuk koneksi Server. Jika Anda ingin modul ini diaktifkan untuk koneksi Situs serta koneksi aplikasi, tambahkan ke daftar berikut:
<location path="."> <module> <add name="ExtensibilityDemo" /> </location>Simpan File dan jalankan InetMgr, sambungkan ke localhost dan Anda melihat pesan berikut:
Ringkasan
Artikel ini menjelaskan cara membuat proyek Visual Studio untuk mengembangkan modul ekstensibilitas untuk Alat Manajemen IIS baru. Kami membuat ModuleProvider sederhana dan rekan Modulnya untuk menampilkan pesan.
Sekarang setelah Anda memahami dasar-dasar pembuatan Modul Alat Manajemen IIS, Anda dapat menjelajahi lebih banyak fitur menarik yang tersedia untuk ekstensibilitas.