IAssemblyPostProcessor Interfaz

Definición

Define el método que una clase implementa para procesar un ensamblado después de que éste se haya compilado.

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 Web.config de una aplicación web.

La primera parte del ejemplo de código crea una clase denominada Samples.Process.postProcessTest que implementa la IAssemblyPostProcessor interfaz . Esta clase realiza la acción simple de escribir un archivo cuando se llama al PostProcessAssembly método .

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. Agregue el archivo de .dll resultante a la carpeta Bin de una aplicación de ASP.NET y registre el .dll en el archivo Web.config, como se muestra en el código siguiente.

<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.

Comentarios

Una clase que implementa esta interfaz puede tener acceso a un ensamblado una vez compilado. La AssemblyBuilder clase compila ensamblados y, a continuación, comprueba si se ha registrado una IAssemblyPostProcessor interfaz en el archivo de configuración web. Si es así, la AssemblyBuilder instancia llama al PostProcessAssembly método para que la IAssemblyPostProcessor interfaz realice cualquier acción después de la compilación y antes de cargar el ensamblado. Por ejemplo, una herramienta de generador de perfiles podría implementar esta interfaz para establecer sondeos en el ensamblado.

Cuando se registra una IAssemblyPostProcessor interfaz, la aplicación ASP.NET y sus ensamblados siempre se compilarán en modo de depuración.

Métodos

Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.

(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.

Se aplica a