Parancsmag bemeneti feldolgozási módszerei
A parancsmagok végrehajtásához felül kell bírálni az ebben a témakörben leírt beviteli feldolgozási módszereket. Ezek a metódusok lehetővé teszik, hogy a parancsmag előfeldolgozási, bemeneti és utófeldolgozási műveleteket hajtson végre. Ezek a metódusok a parancsmagok feldolgozásának leállítását is lehetővé teszik. A metódusok használatának részletesebb példáiért lásd: SelectStr-oktatóanyag.
Előfeldolgozási műveletek
A parancsmagok felülbírálják a System.Management.Automation.Cmdlet.BeginProcessing metódust, hogy hozzáadják az összes olyan előfeldolgozási műveletet, amely érvényes a parancsmag által később feldolgozott összes rekordra. Amikor a PowerShell feldolgoz egy parancsfolyamatot, a PowerShell egyszer hívja meg ezt a metódust a folyamat minden parancsmag-példányához. További információ arról, hogy a PowerShell hogyan hívja meg a parancs folyamatot: Parancsmagok feldolgozási életciklusa.
Az alábbi kód a BeginProcessing metódus implementációját mutatja be.
protected override void BeginProcessing()
{
// Replace the WriteObject method with the logic required by your cmdlet.
WriteObject("This is a test of the BeginProcessing template.");
}
Bemeneti feldolgozási műveletek
A parancsmagok felülbírálhatják a System.Management.Automation.Cmdlet.ProcessRecord metódust a parancsmagnak küldött bemenet feldolgozásához. Amikor a PowerShell feldolgoz egy parancsfolyamatot, a PowerShell ezt a metódust hívja meg minden bemeneti rekordhoz, amelyet a parancsmag feldolgoz. További információ arról, hogy a PowerShell hogyan hívja meg a parancs folyamatot: Parancsmagok feldolgozási életciklusa.
Az alábbi kód a ProcessRecord metódus implementációját mutatja be.
protected override void ProcessRecord()
{
// Replace the WriteObject method with the logic required by your cmdlet.
WriteObject("This is a test of the ProcessRecord template.");
}
Utófeldolgozási műveletek
A parancsmagok felülbírálják a System.Management.Automation.Cmdlet.EndProcessing metódust, hogy hozzáadják a parancsmag által feldolgozott összes rekordra érvényes utófeldolgozási műveleteket. Előfordulhat például, hogy a parancsmagnak meg kell tisztítania az objektumváltozókat a feldolgozás befejezése után.
Amikor a PowerShell feldolgoz egy parancsfolyamatot, a PowerShell egyszer hívja meg ezt a metódust a folyamat minden parancsmag-példányához. Fontos azonban megjegyezni, hogy a PowerShell-futtatás nem hívja meg az EndProcessing metódust, ha a parancsmagot a bemeneti feldolgozás során megszakítják, vagy ha a parancsmag bármelyik részében megszakítási hiba történik. Ezért az objektum tisztítását igénylő parancsmagnak a teljes System.IDisposable mintát kell megvalósítania, beleértve a véglegesítőt is, hogy a futásidő a feldolgozás végén az EndProcessing és a System.IDisposable.Dispose metódust is meg tudja hívni. További információ arról, hogy a PowerShell hogyan hívja meg a parancs folyamatot: Parancsmagok feldolgozási életciklusa.
Az alábbi kód az EndProcessing metódus implementációját mutatja be.
protected override void EndProcessing()
{
// Replace the WriteObject method with the logic required by your cmdlet.
WriteObject("This is a test of the EndProcessing template.");
}
Lásd még:
System.Management.Automation.Cmdlet.BeginProcessing
System.Management.Automation.Cmdlet.ProcessRecord
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: