Változó- és argumentumkövetés

A munkafolyamat végrehajtásának nyomon követésekor gyakran hasznos az adatok kinyerése. Ez további kontextust biztosít a nyomkövetési rekord végrehajtás utáni elérésekor. A .NET-keretrendszer 4.6.1-ben bármilyen látható változót vagy argumentumot kinyerhet a munkafolyamat bármely tevékenységének hatóköréből nyomkövetéssel. A nyomkövetési profilok megkönnyítik az adatok kinyerét.

Változók és argumentumok

A változók és az argumentumok akkor nyerhetők ki, ha egy tevékenység egy tevékenységállapot-rekordot bocsát ki. Egy változó csak akkor érhető el kinyeréshez, ha a tevékenység hatókörén belül van. Egy tevékenységen belül kinyerendő változó a következő módon van megadva:

  • Ha egy változót a változó neve határoz meg, akkor a nyomon követés az aktuális tevékenységen belül és a szülőtevékenységekben keresi a változót. A változó keresése az aktuális tevékenység hatókörében és a szülő hatókörben történik.

  • Ha a kinyerni kívánt változók a name="*" névvel vannak megadva, akkor az aktuális nyomon követett tevékenység összes változója ki lesz nyerve. Ebben az esetben a hatókörben lévő, de a szülőtevékenységekben definiált változók nem lesznek kinyerve.

Az argumentumok kinyerésekor a kinyert argumentumok a tevékenység állapotától függnek. Amikor egy tevékenység végrehajtása folyamatban van, akkor csak a InArguments érhetők el kinyerésre. Bármely más tevékenységállapot (Lezárt, Hibás, Megszakított) esetén az összes argumentum, mind az InArguments, mind az OutArguments, elérhető a kinyeréshez.

Az alábbi példa egy tevékenységállapot-lekérdezést mutat be, amely változókat és argumentumokat nyer ki a tevékenység nyomkövetési rekordjának Closed kibocsátásakor. A változók és argumentumok csak egy ActivityStateRecord segítségével nyerhetők ki, és ezért egy nyomkövetési profilon belül a ActivityStateQuery-en keresztül nyomon követve vannak.

<activityStateQuery activityName="SendEmailActivity">
  <states>
    <state name="Closed"/>
  </states>
  <variables>
    <variable name="FromAddress"/>
  </variables>
  <arguments>
    <argument name="Result"/>
  </arguments>
</activityStateQuery>

Változókban és argumentumokban tárolt információk védelme

A WF-futtatókörnyezet alapértelmezés szerint láthatóvá teszi a követett változót vagy argumentumot. A munkafolyamat-fejlesztő az alábbi lépések végrehajtásával megvédheti a hozzáféréstől:

  1. Egy változó értékének titkosítása.

  2. A változók vagy argumentumok kinyerésének megakadályozása érdekében szabályozhatja a nyomkövetési profilok készítését.

  3. Egyéni nyomkövetési résztvevők esetén győződjön meg arról, hogy a WF-kód nem fedi fel a változókban vagy argumentumokban tárolt bizalmas információkat.

Lásd még