IAssemblyPostProcessor Antarmuka

Definisi

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.

Berlaku untuk