IAssemblyPostProcessor Interfaz

Definición

Define el método que una clase implementa para procesar un ensamblado después de que éste se haya compilado.Defines the method a class implements to process an assembly after the assembly has been built.

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

Ejemplos

En el ejemplo de código siguiente se muestra cómo crear una implementación de la IAssemblyPostProcessor interfaz y registrarla en el archivo de Web.config de una aplicación Web.The following code example demonstrates how to create an implementation of the IAssemblyPostProcessor interface, and register it in the Web.config file of a Web application.

En la primera parte del ejemplo de código se crea una clase denominada Samples.Process.postProcessTest que implementa la IAssemblyPostProcessor interfaz.The first part of the code example creates a class named Samples.Process.postProcessTest that implements the IAssemblyPostProcessor interface. Esta clase realiza la acción simple de escribir un archivo cuando PostProcessAssembly se llama al método.This class performs the simple action of writing a file when the PostProcessAssembly method is called.

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

Compile la clase en un archivo. dll con el comando csc /target:library postProcessTest.cs .Compile the class into a .dll file with the command csc /target:library postProcessTest.cs. Agregue el archivo. dll resultante a la carpeta bin de una aplicación ASP.NET y registre el archivo. dll en el archivo Web.config, como se muestra en el código siguiente.Add the resulting .dll file to the Bin folder of an ASP.NET application and register the .dll in the Web.config file, as shown in the following code.

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

Cuando un usuario visita el sitio web, la aplicación web se compila dinámicamente y el archivo MyTest.txt se escribirá en C:\compile.When a user visits the Web site, the Web application is dynamically compiled and the file MyTest.txt will be written to C:\compile.

Comentarios

Una clase que implementa esta interfaz puede tener acceso a un ensamblado después de que se haya compilado.A class implementing this interface can access an assembly after it has been compiled. La AssemblyBuilder clase compila los ensamblados y, a continuación, comprueba si una interfaz se ha IAssemblyPostProcessor registrado en el archivo de configuración Web.The AssemblyBuilder class compiles assemblies and then checks to see whether an IAssemblyPostProcessor interface has been registered in the Web configuration file. Si es así, la AssemblyBuilder instancia llama al PostProcessAssembly método para IAssemblyPostProcessor que la interfaz realice cualquier acción después de la compilación y antes de cargar el ensamblado.If so, the AssemblyBuilder instance calls the PostProcessAssembly method for the IAssemblyPostProcessor interface to perform any action after the compilation and before loading the assembly. Por ejemplo, una herramienta de generador de perfiles podría implementar esta interfaz para establecer sondeos en el ensamblado.For example, a profiler tool could implement this interface to establish probes in the assembly.

Cuando IAssemblyPostProcessor se registra una interfaz, la aplicación ASP.net y sus ensamblados siempre se compilarán en modo de depuración.When an IAssemblyPostProcessor interface is registered, the ASP.NET application and its assemblies will always be compiled in debug mode.

Métodos

Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

(Heredado de IDisposable)
PostProcessAssembly(String)

Se le llama antes de que el ensamblado se cargue para permitir que la clase que efectúa la implementación modifique el ensamblado.Called before the assembly is loaded to allow the implementing class to modify the assembly.

Se aplica a