IAssemblyPostProcessor Интерфейс

Определение

Задает методы, реализуемые классом для обработки сборки после ее построения.

public interface class IAssemblyPostProcessor : IDisposable
public interface IAssemblyPostProcessor : IDisposable
type IAssemblyPostProcessor = interface
    interface IDisposable
Public Interface IAssemblyPostProcessor
Implements IDisposable
Реализации

Примеры

В следующем примере кода показано, как создать реализацию IAssemblyPostProcessor интерфейса и зарегистрировать его в файле Web.config веб-приложения.

Первая часть примера кода создает класс с именем Samples.Process.postProcessTest , реализующим IAssemblyPostProcessor интерфейс. Этот класс выполняет простое действие записи файла при вызове PostProcessAssembly метода.

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

Скомпилируйте класс в файл .dll с помощью команды csc /target:library postProcessTest.cs. Добавьте полученный файл .dll в папку Bin приложения ASP.NET и зарегистрируйте .dll в файле Web.config, как показано в следующем коде.

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

Когда пользователь посещает веб-сайт, веб-приложение динамически компилируется, а файл MyTest.txt будет записан в C:\compile.

Комментарии

Класс, реализующий этот интерфейс, может получить доступ к сборке после компиляции. Класс AssemblyBuilder компилирует сборки, а затем проверяет, зарегистрирован ли IAssemblyPostProcessor интерфейс в файле веб-конфигурации. В этом AssemblyBuilder случае экземпляр вызывает PostProcessAssembly метод для интерфейса, IAssemblyPostProcessor чтобы выполнить любое действие после компиляции и перед загрузкой сборки. Например, средство профилировщика может реализовать этот интерфейс для установки проб в сборке.

IAssemblyPostProcessor При регистрации интерфейса приложение ASP.NET и его сборки всегда будут компилироваться в режиме отладки.

Методы

Dispose()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.

(Унаследовано от IDisposable)
PostProcessAssembly(String)

Вызывается перед загрузкой сборки, чтобы позволить реализующему классу вносить в нее изменения.

Применяется к