IAssemblyPostProcessor Gränssnitt

Definition

Definierar metoden som en klass implementerar för att bearbeta en sammansättning när sammansättningen har skapats.

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

Exempel

I följande kodexempel visas hur du skapar en implementering av IAssemblyPostProcessor gränssnittet och registrerar det i Web.config-filen i ett webbprogram.

Den första delen av kodexemplet skapar en klass med namnet Samples.Process.postProcessTest som implementerar IAssemblyPostProcessor gränssnittet. Den här klassen utför den enkla åtgärden att skriva en fil när PostProcessAssembly metoden anropas.

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

Kompilera klassen till en .dll fil med kommandot csc /target:library postProcessTest.cs. Lägg till den resulterande .dll filen i mappen Bin för ett ASP.NET-program och registrera .dll i Web.config-filen, som du ser i följande kod.

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

När en användare besöker webbplatsen kompileras webbprogrammet dynamiskt och filen MyTest.txt skrivs till C:\compile.

Kommentarer

En klass som implementerar det här gränssnittet kan komma åt en sammansättning när den har kompilerats. Klassen AssemblyBuilder kompilerar sammansättningar och kontrollerar sedan om ett IAssemblyPostProcessor gränssnitt har registrerats i webbkonfigurationsfilen. I så fall AssemblyBuilder anropar instansen PostProcessAssembly metoden för gränssnittet för IAssemblyPostProcessor att utföra någon åtgärd efter kompilering och innan sammansättningen läses in. Ett profilerarverktyg kan till exempel implementera det här gränssnittet för att upprätta avsökningar i sammansättningen.

När ett IAssemblyPostProcessor-gränssnitt registreras, kompileras alltid ASP.NET-programmet och dess sammansättningar i felsökningsläge.

Metoder

Name Description
Dispose()

Utför programdefinierade uppgifter som är associerade med att frigöra, frigöra eller återställa ohanterade resurser.

(Ärvd från IDisposable)
PostProcessAssembly(String)

Anropas innan sammansättningen läses in så att implementeringsklassen kan ändra sammansättningen.

Gäller för