PersistenceProvider Class

Definition

Caution

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

The abstract base class from which all durable service persistence providers are derived.

C#
public abstract class PersistenceProvider : System.ServiceModel.Channels.CommunicationObject
C#
[System.Obsolete("The WF3 types are deprecated.  Instead, please use the new WF4 types from System.Activities.*")]
public abstract class PersistenceProvider : System.ServiceModel.Channels.CommunicationObject
Inheritance
PersistenceProvider
Derived
Attributes

Examples

For an implementation of this type that uses the file system as a persistence store, see the FilePersistenceProviderFactory.cs file in the DurableServiceFactory SDK sample.

Remarks

Users can create classes derived from this type to create durable service persistence providers that use custom persistence stores, such as third-party databases, the file system, or storage systems accessed remotely. To create a system-provided implementation of this type that uses Microsoft SQL Server as a persistence store, see SqlPersistenceProviderFactory.

Note

When creating persistence provider implementations, it is important to maintain the thread's original identity in the new provider's methods (such as Load. Otherwise, security loopholes could be created, because operations would then run under the wrong identity.

Constructors

PersistenceProvider(Guid)

When implemented in a derived class, initializes a new instance of the PersistenceProvider class.

Properties

DefaultCloseTimeout

When overridden in a derived class, gets the default interval of time provided for a close operation to complete.

(Inherited from CommunicationObject)
DefaultOpenTimeout

When overridden in a derived class, gets the default interval of time provided for an open operation to complete.

(Inherited from CommunicationObject)
Id

Represents the Guid associated with this instance.

IsDisposed

Gets a value that indicates whether the communication object has been disposed.

(Inherited from CommunicationObject)
State

Gets a value that indicates the current state of the communication object.

(Inherited from CommunicationObject)
ThisLock

Gets the mutually exclusive lock that protects the class instance during a state transition.

(Inherited from CommunicationObject)

Methods

Abort()

Causes a communication object to transition immediately from its current state into the closing state.

(Inherited from CommunicationObject)
BeginClose(AsyncCallback, Object)

Begins an asynchronous operation to close a communication object.

(Inherited from CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to close a communication object with a specified timeout.

(Inherited from CommunicationObject)
BeginCreate(Object, TimeSpan, AsyncCallback, Object)

When implemented in a derived class, represents the beginning of the Create phase. The Create phase occurs when service instance records are first created in the persistence store.

BeginDelete(Object, TimeSpan, AsyncCallback, Object)

When implemented in a derived class, represents the beginning of the Delete phase. The Delete phase occurs when service state data is permanently deleted from the persistence store.

BeginLoad(TimeSpan, AsyncCallback, Object)

When implemented in a derived class, represents the beginning of the Load phase. The Load phase occurs when state data is loaded into the persistence provider from the persistence store.

BeginLoadIfChanged(TimeSpan, Object, AsyncCallback, Object)

When implemented in a derived class, represents the beginning of the LoadIfChanged phase. The LoadIfChanged phase occurs when state data is loaded into the persistence provider from the persistence store, and the state data in the persistence store has been changed.

BeginOpen(AsyncCallback, Object)

Begins an asynchronous operation to open a communication object.

(Inherited from CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to open a communication object within a specified interval of time.

(Inherited from CommunicationObject)
BeginUpdate(Object, TimeSpan, AsyncCallback, Object)

When implemented in a derived class, represents the beginning of the Update phase. The Update phase occurs when service state data is updated in the persistence store.

Close()

Causes a communication object to transition from its current state into the closed state.

(Inherited from CommunicationObject)
Close(TimeSpan)

Causes a communication object to transition from its current state into the closed state within a specified interval of time.

(Inherited from CommunicationObject)
Create(Object, TimeSpan)

When implemented in a derived class, creates a service state record in the persistence store.

Delete(Object, TimeSpan)

When implemented in a derived class, permanently deletes service state information from the persistence store.

EndClose(IAsyncResult)

Completes an asynchronous operation to close a communication object.

(Inherited from CommunicationObject)
EndCreate(IAsyncResult)

When implemented in a derived class, represents the end of the Create phase. The Create phase occurs when service state records are first created in the persistence store.

EndDelete(IAsyncResult)

When implemented in a derived class, represents the end of the Delete phase. The Delete phase occurs when state data is permanently deleted from the persistence store.

EndLoad(IAsyncResult)

When implemented in a derived class, represents the end of the Load phase. The Load phase occurs when state data is loaded into the persistence provider from the persistence store.

EndLoadIfChanged(IAsyncResult, Object)

When implemented in a derived class, represents the end of the LoadIfChanged phase. The LoadIfChanged phase occurs when state data is loaded into the persistence provider from the persistence store, and the state data in the persistence store has been changed.

EndOpen(IAsyncResult)

Completes an asynchronous operation to open a communication object.

(Inherited from CommunicationObject)
EndUpdate(IAsyncResult)

Represents the end of the Update phase. The Update phase occurs when service state records are updated in the persistence store.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
Fault()

Causes a communication object to transition from its current state into the faulted state.

(Inherited from CommunicationObject)
GetCommunicationObjectType()

Gets the type of communication object.

(Inherited from CommunicationObject)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
Load(TimeSpan)

When implemented in a derived class, loads service state information from the persistence store.

LoadIfChanged(TimeSpan, Object, Object)

When implemented in a derived class, loads service state information from the persistence store if that data has been changed.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
OnAbort()

Inserts processing on a communication object after it transitions to the closing state due to the invocation of a synchronous abort operation.

(Inherited from CommunicationObject)
OnBeginClose(TimeSpan, AsyncCallback, Object)

Inserts processing after a communication object transitions to the closing state due to the invocation of an asynchronous close operation.

(Inherited from CommunicationObject)
OnBeginOpen(TimeSpan, AsyncCallback, Object)

Inserts processing on a communication object after it transitions to the opening state due to the invocation of an asynchronous open operation.

(Inherited from CommunicationObject)
OnClose(TimeSpan)

Inserts processing on a communication object after it transitions to the closing state due to the invocation of a synchronous close operation.

(Inherited from CommunicationObject)
OnClosed()

Invoked during the transition of a communication object into the closing state.

(Inherited from CommunicationObject)
OnClosing()

Invoked during the transition of a communication object into the closing state.

(Inherited from CommunicationObject)
OnEndClose(IAsyncResult)

Completes an asynchronous operation on the close of a communication object.

(Inherited from CommunicationObject)
OnEndOpen(IAsyncResult)

Completes an asynchronous operation on the open of a communication object.

(Inherited from CommunicationObject)
OnFaulted()

Inserts processing on a communication object after it transitions to the faulted state due to the invocation of a synchronous fault operation.

(Inherited from CommunicationObject)
OnOpen(TimeSpan)

Inserts processing on a communication object after it transitions into the opening state which must complete within a specified interval of time.

(Inherited from CommunicationObject)
OnOpened()

Invoked during the transition of a communication object into the opened state.

(Inherited from CommunicationObject)
OnOpening()

Invoked during the transition of a communication object into the opening state.

(Inherited from CommunicationObject)
Open()

Causes a communication object to transition from the created state into the opened state.

(Inherited from CommunicationObject)
Open(TimeSpan)

Causes a communication object to transition from the created state into the opened state within a specified interval of time.

(Inherited from CommunicationObject)
ThrowIfDisposed()

Throws an exception if the communication object is disposed.

(Inherited from CommunicationObject)
ThrowIfDisposedOrImmutable()

Throws an exception if the communication object the State property is not set to the Created state.

(Inherited from CommunicationObject)
ThrowIfDisposedOrNotOpen()

Throws an exception if the communication object is not in the Opened state.

(Inherited from CommunicationObject)
ToString()

Returns a string that represents the current object.

(Inherited from Object)
Update(Object, TimeSpan)

When implemented in a derived class, updates service state records in the persistence store.

Events

Closed

Occurs when a communication object transitions into the closed state.

(Inherited from CommunicationObject)
Closing

Occurs when a communication object transitions into the closing state.

(Inherited from CommunicationObject)
Faulted

Occurs when a communication object transitions into the faulted state.

(Inherited from CommunicationObject)
Opened

Occurs when a communication object transitions into the opened state.

(Inherited from CommunicationObject)
Opening

Occurs when a communication object transitions into the opening state.

(Inherited from CommunicationObject)

Applies to

Product Versions (Obsolete)
.NET Framework 3.5, 4.0 (4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1)