IAssemblyPostProcessor Interfész
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Meghatározza azt a metódust, amelyet az osztály implementál egy szerelvény feldolgozásához a szerelvény létrehozása után.
public interface class IAssemblyPostProcessor : IDisposable
public interface IAssemblyPostProcessor : IDisposable
type IAssemblyPostProcessor = interface
interface IDisposable
Public Interface IAssemblyPostProcessor
Implements IDisposable
- Megvalósítás
Példák
Az alábbi kódpéldából megtudhatja, hogyan hozhatja létre a IAssemblyPostProcessor felület implementációját, és hogyan regisztrálhatja azt egy webalkalmazás Web.config fájljában.
A kódpéldának első része létrehoz egy osztályt Samples.Process.postProcessTest , amely implementálja a IAssemblyPostProcessor felületet. Ez az osztály végrehajtja a fájl írásának egyszerű műveletét a PostProcessAssembly metódus meghívásakor.
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
Állítsa össze az osztályt egy .dll fájlba a paranccsal csc /target:library postProcessTest.cs. Adja hozzá az eredményként kapott .dll fájlt egy ASP.NET alkalmazás Bin mappájához, és regisztrálja a .dll a Web.config fájlban az alábbi kódban látható módon.
<compilation debug="true" assemblyPostProcessorType="Samples.Process.postProcessTest" />
Amikor egy felhasználó felkeresi a webhelyet, a rendszer dinamikusan lefordítja a webalkalmazást, és a fájl MyTest.txt a C:\compile fájlba lesz írva.
Megjegyzések
Az interfészt implementáló osztály a fordítás után hozzáférhet egy szerelvényhez. Az AssemblyBuilder osztály összeállítja a szerelvényeket, majd ellenőrzi, hogy regisztrálva van-e felület IAssemblyPostProcessor a webes konfigurációs fájlban. Ha igen, a AssemblyBuilder példány meghívja az PostProcessAssembly interfész metódusát, IAssemblyPostProcessor hogy a fordítás után és a szerelvény betöltése előtt bármilyen műveletet végrehajtson. Egy profilkészítő eszköz például implementálhatja ezt az interfészt, hogy mintavételeket hozzon létre a szerelvényben.
Ha egy IAssemblyPostProcessor felület regisztrálva van, a ASP.NET alkalmazás és a szerelvények mindig hibakeresési módban lesznek lefordítva.
Metódusok
| Name | Description |
|---|---|
| Dispose() |
Végrehajtja a nem felügyelt erőforrások felszabadításával, felszabadításával vagy alaphelyzetbe állításával kapcsolatos alkalmazásalapú feladatokat. (Öröklődés forrása IDisposable) |
| PostProcessAssembly(String) |
A rendszer meghívja a szerelvény betöltése előtt, hogy a implementálási osztály módosíthassa a szerelvényt. |