IAssemblyPostProcessor Gränssnitt
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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. |