IAssemblyPostProcessor Antarmuka
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendefinisikan metode yang diterapkan kelas untuk memproses assembly setelah assembly dibuat.
public interface class IAssemblyPostProcessor : IDisposable
public interface IAssemblyPostProcessor : IDisposable
type IAssemblyPostProcessor = interface
interface IDisposable
Public Interface IAssemblyPostProcessor
Implements IDisposable
- Penerapan
Contoh
Contoh kode berikut menunjukkan cara membuat implementasi IAssemblyPostProcessor antarmuka, dan mendaftarkannya dalam file Web.config aplikasi Web.
Bagian pertama dari contoh kode membuat kelas bernama Samples.Process.postProcessTest yang mengimplementasikan IAssemblyPostProcessor antarmuka. Kelas ini melakukan tindakan sederhana menulis file ketika metode dipanggil PostProcessAssembly .
using System;
using System.Web.Compilation;
using System.IO;
namespace Samples.Process
{
public class postProcessTest : IAssemblyPostProcessor
{
public static void Main(String[] args)
{
}
public void PostProcessAssembly(string path)
{
StreamWriter sw = File.CreateText(@"c:\compile\MyTest.txt");
sw.WriteLine("Compiled assembly:");
sw.WriteLine(path);
sw.Close();
}
public void Dispose()
{
}
}
}
Imports System.Web.Compilation
Imports System.IO
Namespace Samples.Process
Public Class postProcessTest
Implements IAssemblyPostProcessor
Sub Main()
End Sub
Public Sub PostProcessAssembly(ByVal path As String) _
Implements IAssemblyPostProcessor.PostProcessAssembly
Dim sw As StreamWriter
sw = File.CreateText("c:\compile\MyTest.txt")
sw.WriteLine("Compiled assembly:")
sw.WriteLine(path)
sw.Close()
End Sub
Public Sub Dispose() Implements IDisposable.Dispose
End Sub
End Class
End Namespace
Kompilasi kelas ke dalam file .dll dengan perintah csc /target:library postProcessTest.cs. Tambahkan file .dll yang dihasilkan ke folder Bin aplikasi ASP.NET dan daftarkan .dll dalam file Web.config, seperti yang ditunjukkan dalam kode berikut.
<compilation debug="true" assemblyPostProcessorType="Samples.Process.postProcessTest" />
Ketika pengguna mengunjungi situs Web, aplikasi Web dikompilasi secara dinamis dan file MyTest.txt akan ditulis ke C:\compile.
Keterangan
Kelas yang mengimplementasikan antarmuka ini dapat mengakses rakitan setelah dikompilasi. Kelas AssemblyBuilder ini mengkompilasi rakitan dan kemudian memeriksa untuk melihat apakah IAssemblyPostProcessor antarmuka telah terdaftar dalam file konfigurasi Web. Jika demikian, AssemblyBuilder instans PostProcessAssembly memanggil metode agar IAssemblyPostProcessor antarmuka melakukan tindakan apa pun setelah kompilasi dan sebelum memuat rakitan. Misalnya, alat profiler dapat mengimplementasikan antarmuka ini untuk membuat pemeriksaan di perakitan.
Ketika antarmuka IAssemblyPostProcessor terdaftar, aplikasi ASP.NET dan rakitannya akan selalu dikompilasi dalam mode debug.
Metode
| Nama | Deskripsi |
|---|---|
| Dispose() |
Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, merilis, atau mengatur ulang sumber daya yang tidak dikelola. (Diperoleh dari IDisposable) |
| PostProcessAssembly(String) |
Dipanggil sebelum assembly dimuat untuk memungkinkan kelas pelaksana memodifikasi assembly. |