Udostępnij za pośrednictwem


Śledzenie zmiennych i argumentów

Podczas śledzenia wykonywania przepływu pracy, często jest przydatne wyodrębnianie danych. Zapewnia to dodatkowy kontekst podczas uzyskiwania dostępu do rekordu śledzenia po wykonaniu. W programie .NET Framework 4.6.1 można wyodrębnić dowolną widoczną zmienną lub argument w zakresie dowolnego działania w przepływie pracy przy użyciu śledzenia. Profile śledzenia ułatwiają wyodrębnianie danych.

Zmienne i argumenty

Zmienne i argumenty są wyodrębniane, gdy aktywność emituje ActivityStateRecord. Zmienna jest dostępna do wyodrębniania tylko wtedy, gdy znajduje się w zakresie działania. Zmienna do wyodrębnienia w ramach działania jest określana w następujący sposób:

  • Jeśli zmienna jest określona przez nazwę zmiennej, śledzenie wyszukuje zmienną w ramach bieżącego działania śledzonego i w działaniach nadrzędnych. Zmienna jest przeszukiwana w bieżącym zakresie działania i w zakresie nadrzędnym.

  • Jeśli zmienne do wyodrębnienia są określane przy użyciu nazwy="*", wyodrębniane są wszystkie zmienne w ramach śledzonego bieżącego działania. W tym przypadku zmienne, które znajdują się w zakresie, ale zdefiniowane w działaniach nadrzędnych, nie są wyodrębniane.

Podczas wyodrębniania argumentów wyodrębnione argumenty zależą od stanu działania. Gdy stan działania jest wykonywany, tylko InArguments te wartości są dostępne do wyodrębniania. Dla każdego innego stanu aktywności (Zamknięte, Uszkodzone, Anulowane), wszystkie argumenty, zarówno InArguments, jak i OutArguments, są dostępne do ekstrakcji.

W poniższym przykładzie pokazano zapytanie o stan działania, które wyodrębnia zmienne i argumenty, gdy jest emitowany rekord śledzenia działania Closed . Zmienne i argumenty można wyodrębnić tylko za pomocą ActivityStateRecord i w ten sposób są przypisane do profilu śledzenia przy użyciu ActivityStateQuery.

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

Ochrona informacji przechowywanych w zmiennych i argumentach

Śledzona zmienna lub argument jest domyślnie widoczna przez środowisko uruchomieniowe platformy WF. Deweloper przepływu pracy może chronić go przed uzyskaniem dostępu, wykonując następujące czynności:

  1. Szyfruj wartość zmiennej.

  2. Steruj tworzeniem profilu śledzenia, aby zapobiec wyodrębnianiu zmiennej lub argumentu.

  3. Upewnij się, że dla uczestników niestandardowego śledzenia kod WF nie ujawnia poufnych informacji przechowywanych w zmiennych lub argumentach.

Zobacz także