PersistenceParticipant Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Ta klasa umożliwia zarówno uczestnictwo w procesie trwałości, jak WorkflowApplication i WorkflowServiceHost uczestnictwo w procesie trwałości. Uczestnik trwałości pochodzi z PersistenceParticipant klasy lub PersistenceIOParticipant klasy (klasy pochodnej PersistenceParticipant klasy), implementuje metody abstrakcyjne, a następnie dodaje wystąpienie klasy jako rozszerzenie wystąpienia przepływu pracy. Element WorkflowApplication i WorkflowServiceHost poszukaj takich rozszerzeń podczas utrwalania wystąpienia i wywoływania odpowiednich metod w odpowiednim czasie.
public ref class PersistenceParticipant abstract
public abstract class PersistenceParticipant
type PersistenceParticipant = class
Public MustInherit Class PersistenceParticipant
- Dziedziczenie
-
PersistenceParticipant
- Pochodne
Przykłady
Poniższy przykładowy kod pokazuje tworzenie klasy pochodzącej z PersistenceParticipantklasy . Ten przykład pochodzi z przykładu Proces zatrudniania .
public class HiringRequestInfoPersistenceParticipant: PersistenceIOParticipant
{
public HiringRequestInfoPersistenceParticipant()
: base(true, false)
{
}
Uwagi
Host wykonuje następujące kroki (lub etapy) podczas utrwalania wystąpienia:
Zbiera wartości do utrwalania.
Mapuje pola wartości ze strukturą monolityczną na poszczególne wartości.
SaveWorkflowCommand Wystawia dostawcę trwałości.
Wykonuje operacje we/wy w ramach transakcji trwałości.
Host kończy etap przed rozpoczęciem następnego etapu. Na przykład podczas utrwalania host zbiera wartości ze wszystkich uczestników trwałości przed przejściem do drugiego etapu. W drugim etapie host udostępnia wszystkie wartości zebrane w pierwszym etapie do wszystkich uczestników trwałości na drugim etapie na potrzeby mapowania. W trzecim etapie host udostępnia wszystkie zebrane wartości w pierwszym i drugim etapie dostawcy trwałości podczas wywoływania SaveWorkflowCommandelementu . Następnie na czwartym etapie host udostępnia wszystkie zebrane wartości wszystkim uczestnikom operacji we/wy trwałości w ramach transakcji trwałości.
Host wykonuje następujące etapy podczas ładowania wystąpienia trwałości:
LoadWorkflowCommand Problemy z dostawcą trwałości iLoadWorkflowByInstanceKeyCommand.
Wykonuje operacje we/wy w ramach transakcji trwałości.
Publikuje załadowane wartości.
Na najwyższym poziomie rozszerzenia wystąpienia przepływu pracy, które pochodzą z PersistenceParticipant klasy, mogą uczestniczyć w pierwszych etapach (Collect) i drugim (Map) procesu utrwalania i trzeciego etapu (Publikowanie) procesu ładowania. Rozszerzenia wystąpienia przepływu pracy pochodzące z klasy PersistenceIOParticipant mogą dodatkowo uczestniczyć w czwartym etapie procesu utrwalania i drugiego etapu procesu ładowania (we/wy).
Konstruktory
PersistenceParticipant() |
Inicjuje wystąpienie klasy PersistenceParticipant. |
Metody
CollectValues(IDictionary<XName,Object>, IDictionary<XName,Object>) |
Host wywołuje tę metodę dla niestandardowego uczestnika trwałości w celu zbierania wartości odczytu i zapisu i wartości tylko do zapisu, które mają być utrwalane. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MapValues(IDictionary<XName,Object>, IDictionary<XName,Object>) |
Host wywołuje tę metodę po zakończeniu zbierania wartości w pierwszym etapie. Host przekazuje dwa słowniki tylko do odczytu wartości zebranych od wszystkich uczestników trwałości podczas pierwszego etapu (etap CollectValues) do tej metody mapowania. Host dodaje wartości w słowniku zwracanym przez tę metodę do kolekcji wartości tylko do zapisu. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
PublishValues(IDictionary<XName,Object>) |
Host wywołuje tę metodę i przekazuje wszystkie załadowane wartości w InstanceData kolekcji (wypełnione przez LoadWorkflowCommand lub LoadWorkflowByInstanceKeyCommand) jako parametr słownika. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |