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

System.Management.Automation.Cmdlet.EndProcessing

SelectStr-oktatóanyag

System.IDisposable

Windows PowerShell Shell SDK