IAssemblyPostProcessor Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Definisce il metodo implementato da una classe per elaborare un assembly dopo che è stato compilato.
public interface class IAssemblyPostProcessor : IDisposable
public interface IAssemblyPostProcessor : IDisposable
type IAssemblyPostProcessor = interface
interface IDisposable
Public Interface IAssemblyPostProcessor
Implements IDisposable
- Implementazioni
Esempio
Nell'esempio di codice seguente viene illustrato come creare un'implementazione dell'interfaccia IAssemblyPostProcessor e registrarla nel file Web.config di un'applicazione Web.
La prima parte dell'esempio di codice crea una classe denominata Samples.Process.postProcessTest
che implementa l'interfaccia IAssemblyPostProcessor . Questa classe esegue l'azione semplice di scrittura di un file quando viene chiamato il PostProcessAssembly metodo.
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
Compilare la classe in un file .dll con il comando csc /target:library postProcessTest.cs
. Aggiungere il file di .dll risultante alla cartella Bin di un'applicazione ASP.NET e registrare il .dll nel file Web.config, come illustrato nel codice seguente.
<compilation debug="true" assemblyPostProcessorType="Samples.Process.postProcessTest" />
Quando un utente visita il sito Web, l'applicazione Web viene compilata dinamicamente e il file MyTest.txt verrà scritto in C:\compile.
Commenti
Una classe che implementa questa interfaccia può accedere a un assembly dopo la compilazione. La AssemblyBuilder classe compila gli assembly e quindi verifica se un'interfaccia IAssemblyPostProcessor è stata registrata nel file di configurazione Web. In tal caso, l'istanza AssemblyBuilder chiama il PostProcessAssembly metodo per l'interfaccia per eseguire qualsiasi azione dopo la IAssemblyPostProcessor compilazione e prima di caricare l'assembly. Ad esempio, uno strumento profiler potrebbe implementare questa interfaccia per stabilire i probe nell'assembly.
Quando viene registrata un'interfaccia IAssemblyPostProcessor , l'applicazione ASP.NET e i relativi assembly verranno sempre compilati in modalità di debug.
Metodi
Dispose() |
Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite. (Ereditato da IDisposable) |
PostProcessAssembly(String) |
Chiamato prima del caricamento dell'assembly per consentire alla classe che implementa di modificare l'assembly. |