Freigeben über


IAssemblyPostProcessor Schnittstelle

Definition

Definiert die Methode, die eine Klasse implementiert, um eine Assembly zu verarbeiten, nachdem diese erstellt wurde.

public interface class IAssemblyPostProcessor : IDisposable
public interface IAssemblyPostProcessor : IDisposable
type IAssemblyPostProcessor = interface
    interface IDisposable
Public Interface IAssemblyPostProcessor
Implements IDisposable
Implementiert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie eine Implementierung der IAssemblyPostProcessor Schnittstelle erstellen und in der Web.config Datei einer Webanwendung registrieren.

Im ersten Teil des Codebeispiels wird eine Klasse mit dem Namen erstellt Samples.Process.postProcessTest , die die IAssemblyPostProcessor Schnittstelle implementiert. Diese Klasse führt die einfache Aktion zum Schreiben einer Datei aus, wenn die PostProcessAssembly Methode aufgerufen wird.

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

Kompilieren Sie die Klasse in eine .dll Datei mit dem Befehl csc /target:library postProcessTest.cs. Fügen Sie der resultierenden .dll-Datei den Ordner "Bin" einer ASP.NET Anwendung hinzu, und registrieren Sie die .dll in der datei Web.config, wie im folgenden Code gezeigt.

<compilation debug="true" assemblyPostProcessorType="Samples.Process.postProcessTest" />  

Wenn ein Benutzer die Website besucht, wird die Webanwendung dynamisch kompiliert, und die Datei MyTest.txt wird in C:\kompiliert.

Hinweise

Eine Klasse, die diese Schnittstelle implementiert, kann nach der Kompilierung auf eine Assembly zugreifen. Die AssemblyBuilder Klasse kompiliert Assemblys und überprüft dann, ob eine IAssemblyPostProcessor Schnittstelle in der Webkonfigurationsdatei registriert wurde. Wenn ja, ruft die AssemblyBuilder Instanz die Methode für die IAssemblyPostProcessor PostProcessAssembly Schnittstelle auf, um eine Aktion nach der Kompilierung und vor dem Laden der Assembly auszuführen. Beispielsweise könnte ein Profilertool diese Schnittstelle implementieren, um Prüfpunkte in der Assembly einzurichten.

Wenn eine IAssemblyPostProcessor Schnittstelle registriert ist, werden die ASP.NET-Anwendung und ihre Assemblys immer im Debugmodus kompiliert.

Methoden

Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

(Geerbt von IDisposable)
PostProcessAssembly(String)

Wird aufgerufen, bevor die Assembly geladen wird, um der implementierenden Klasse das Ändern der Assembly zu ermöglichen.

Gilt für