SqlWorkflowPersistenceService Klasa

Definicja

Przestroga

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

Reprezentuje usługę trwałości, która korzysta z bazy danych SQL do przechowywania informacji o stanie przepływu pracy.Represents a persistence service that uses a SQL database to store workflow state information.

public ref class SqlWorkflowPersistenceService : System::Workflow::Runtime::Hosting::WorkflowPersistenceService, System::Workflow::Runtime::IPendingWork
public class SqlWorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowPersistenceService, System.Workflow.Runtime.IPendingWork
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public class SqlWorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowPersistenceService, System.Workflow.Runtime.IPendingWork
type SqlWorkflowPersistenceService = class
    inherit WorkflowPersistenceService
    interface IPendingWork
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type SqlWorkflowPersistenceService = class
    inherit WorkflowPersistenceService
    interface IPendingWork
Public Class SqlWorkflowPersistenceService
Inherits WorkflowPersistenceService
Implements IPendingWork
Dziedziczenie
Atrybuty
Implementuje

Uwagi

Uwaga

W tym materiale omówiono przestarzałe typy i przestrzenie nazw.This material discusses types and namespaces that are obsolete. Aby uzyskać więcej informacji, zobacz przestarzałe typy w Windows Workflow Foundation 4,5.For more information, see Deprecated Types in Windows Workflow Foundation 4.5.

SqlWorkflowPersistenceServiceKlasa reprezentuje w pełni funkcjonalną usługę trwałości.The SqlWorkflowPersistenceService class represents a fully-functional persistence service. Możesz użyć tej usługi, aby zachować i pobrać informacje o stanie przepływu pracy dotyczące wystąpienia przepływu pracy, gdy żądanie jest wykonywane przez aparat środowiska uruchomieniowego przepływu pracy.You can use this service out-of-box to persist and retrieve workflow state information about a workflow instance when requested to by the workflow runtime engine.

SqlWorkflowPersistenceServiceUczestnictwo w funkcjach wsadowych transakcji przepływu pracy udostępnianych przez WorkflowCommitWorkBatchService .The SqlWorkflowPersistenceService participates in the workflow transaction batching functionality provided by the WorkflowCommitWorkBatchService. Oznacza to, że dodaje obiekty reprezentujące oczekujące zapisy do bazy danych SQL do WorkBatch i implementuje IPendingWork interfejs.That is, it adds objects that represent pending writes to the SQL database to the WorkBatch and implements the IPendingWork interface.

SqlWorkflowPersistenceServiceObsługuje blokowanie wystąpień przepływu pracy.The SqlWorkflowPersistenceService supports locking of workflow instances. Ta funkcja jest używana, gdy kilka środowisk uruchomieniowych przepływu pracy współużytkuje tę samą bazę danych.This feature is used when several workflow runtimes share the same database. Kolumna w tabeli bazy danych SQL służy do oznaczania wystąpienia przepływu pracy jako zablokowanego za każdym razem, gdy jest ono używane przez środowisko uruchomieniowe przepływu pracy.A column in the SQL database table is used to mark a workflow instance as locked whenever it is being used by a workflow runtime. SqlWorkflowPersistenceServiceProgram nie ładuje wystąpienia przepływu pracy oznaczonego jako "w użyciu" przez inne środowisko uruchomieniowe.The SqlWorkflowPersistenceService does not load a workflow instance that is marked as "in use" by another runtime. Zazwyczaj te blokady są uwalniane, gdy wystąpienie przepływu pracy jest utrwalane, na przykład po bezczynności, zakończeniu lub zakończeniu.Typically these locks are released when the workflow instance is persisted, for example, on idle, completion, or termination. Blokady można także wydać automatycznie po okresie braku aktywności.The locks can also be released automatically after a period of inactivity. Ten okres braku aktywności można ustawić przy użyciu konstruktora SqlWorkflowPersistenceService klasy.This period of inactivity can be set using the constructor of the SqlWorkflowPersistenceService class. Można ją również ustawić za pomocą pliku konfiguracji.It can also be set through the configuration file.

Aby uzyskać więcej informacji na temat usług trwałości ogólnie, zobacz WorkflowPersistenceService Klasa.For more information about persistence services in general, see the WorkflowPersistenceService class.

Wystąpienia przepływu pracy mogą zawierać czasomierze, na przykład, jeśli mają DelayActivity .Workflow instances can contain timers, for example, if they have a DelayActivity. W przypadku przepływów pracy zawierających czasomierze program SqlWorkflowPersistenceService rejestruje czas, po upływie którego wygasa następny czasomierz przepływu pracy.For workflows that contain timers, the SqlWorkflowPersistenceService records the time when the workflow's next timer expires. SqlWorkflowPersistenceServiceOkresowo sonduje bazę danych, szukając przepływów pracy, których czasomierze wygasły.The SqlWorkflowPersistenceService periodically polls the database, looking for workflows whose timers have expired. Częstotliwość interwału sondowania można ustawić przy użyciu SqlWorkflowPersistenceService konstruktora lub pliku konfiguracji.The frequency of the polling interval can be set using the SqlWorkflowPersistenceService constructor or using a configuration file.

Uwaga

W przypadku korzystania zarówno z programu, SqlTrackingService jak i SqlWorkflowPersistenceService w aplikacji przepływu pracy zaleca się użycie pojedynczej bazy danych w celu zapewnienia trwałości i śledzenia.When using both the SqlTrackingService and the SqlWorkflowPersistenceService in a workflow application, it is recommended to use a single database for both persistence and tracking.

Konstruktory

SqlWorkflowPersistenceService(NameValueCollection)

Inicjuje nowe wystąpienie SqlWorkflowPersistenceService klasy przy użyciu określonych parametrów.Initializes a new instance of the SqlWorkflowPersistenceService class by using the specified parameters.

SqlWorkflowPersistenceService(String)

Inicjuje nowe wystąpienie SqlWorkflowPersistenceService klasy przy użyciu parametrów połączenia bazy danych.Initializes a new instance of the SqlWorkflowPersistenceService class by using the database connection string.

SqlWorkflowPersistenceService(String, Boolean, TimeSpan, TimeSpan)

Inicjuje nowe wystąpienie SqlWorkflowPersistenceService klasy przy użyciu parametrów połączenia z bazą danych i innych parametrów.Initializes a new instance of the SqlWorkflowPersistenceService class using a database connection string and other parameters.

Właściwości

EnableRetries

Pobiera lub ustawia wartość określającą, czy SqlWorkflowPersistenceService ponowienia próby zatwierdzania partii zadań.Gets or sets a value that specifies whether the SqlWorkflowPersistenceService retries committing a work batch.

LoadingInterval

Pobiera długość interwału ładowania.Gets the length of the loading interval.

Runtime

Pobiera WorkflowRuntime dla tej usługi.Gets the WorkflowRuntime for this service.

(Odziedziczone po WorkflowRuntimeService)
ServiceInstanceId

Pobiera identyfikator wystąpienia usługi.Gets the service instance identifier.

State

Pobiera stan WorkflowRuntimeService .Gets the state of the WorkflowRuntimeService.

(Odziedziczone po WorkflowRuntimeService)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetAllWorkflows()

Pobiera opisy wystąpień wszystkich utrwalonych przepływów pracy.Retrieves instance descriptions of all persisted workflows.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
LoadCompletedContextActivity(Guid, Activity)

Pobiera określony ukończony zakres z bazy danych.Retrieves the specified completed scope from the database.

LoadExpiredTimerWorkflowIds()

Pobiera listę identyfikatorów dla przepływów pracy z wygasłymi czasomierzami.Retrieves a list of ids for workflows with expired timers.

LoadWorkflowInstanceState(Guid)

Pobiera określony stan wystąpienia przepływu pracy z bazy danych.Retrieves the specified workflow instance state from the database.

MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
OnStarted()

Uruchamia nowy czasomierz i przywraca uruchomione wystąpienia przepływu pracy.Starts a new timer and recovers running workflow instances.

OnStopped()

Gdy jest zastępowany w klasie pochodnej, reprezentuje metodę, która będzie wywoływana, gdy aparat środowiska uruchomieniowego przepływu pracy zgłasza Stopped zdarzenie.When overridden in a derived class, represents the method that will be called when the workflow runtime engine raises the Stopped event.

(Odziedziczone po WorkflowRuntimeService)
RaiseServicesExceptionNotHandledEvent(Exception, Guid)

Podnosi ServicesExceptionNotHandled zdarzenie.Raises the ServicesExceptionNotHandled event.

(Odziedziczone po WorkflowRuntimeService)
SaveCompletedContextActivity(Activity)

Zapisuje stan określonego zakresu ukończone.Saves the state of the specified completed scope.

SaveWorkflowInstanceState(Activity, Boolean)

Zapisuje określony stan wystąpienia przepływu pracy.Saves the specified workflow instance state.

Start()

Uruchamia SqlWorkflowPersistenceService .Starts the SqlWorkflowPersistenceService.

Stop()

Powoduje zatrzymanie usługi i czasomierza.Stops the service and the timer.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)
UnloadOnIdle(Activity)

Zwraca wartość wskazującą, czy przepływ pracy jest zwalniany, gdy jest w stanie bezczynności.Returns a value that indicates whether the workflow is unloaded when it is in an idle state.

UnlockWorkflowInstanceState(Activity)

Odblokowuje dostęp do określonego stanu wystąpienia przepływu pracy.Unlocks access to the specified workflow instance state.

Jawne implementacje interfejsu

IPendingWork.Commit(Transaction, ICollection)

Zapisuje ICollection z serializowanych obiektów stanu do bazy danych.Writes an ICollection of serialized state objects to the database.

IPendingWork.Complete(Boolean, ICollection)

Kończy zadanie wsadowe i zwalnia wszystkie zasoby.Completes the work batch and releases any resources.

IPendingWork.MustCommit(ICollection)

Zwraca wartość wskazującą, czy kolekcja serializowanych obiektów stanu powinna być zapisywana w bazie danych.Returns a value that indicates whether the collection of serialized state objects should be written to the database.

Dotyczy