This topic has not yet been rated - Rate this topic

SqlPersistenceProviderFactory Class

A system-provided PersistenceProviderFactory implementation used to create a LockingPersistenceProvider instance that uses a SQL database to store persisted service state data.

System.Object
  System.ServiceModel.Channels.CommunicationObject
    System.ServiceModel.Persistence.PersistenceProviderFactory
      System.ServiceModel.Persistence.SqlPersistenceProviderFactory

Namespace:  System.ServiceModel.Persistence
Assembly:  System.WorkflowServices (in System.WorkflowServices.dll)
public class SqlPersistenceProviderFactory : PersistenceProviderFactory

The SqlPersistenceProviderFactory type exposes the following members.

  Name Description
Public method SqlPersistenceProviderFactory(NameValueCollection) Initializes a new instance of the SqlPersistenceProviderFactory class, configured with the specified parameter collection.
Public method SqlPersistenceProviderFactory(String) Initializes a new instance of the SqlPersistenceProviderFactory class, configured with the specified connection string.
Public method SqlPersistenceProviderFactory(String, Boolean) Initializes a new instance of the SqlPersistenceProviderFactory class, configured with the specified connection string and serializeAsText parameters.
Public method SqlPersistenceProviderFactory(String, Boolean, TimeSpan) Initializes a new instance of the SqlPersistenceProviderFactory class, configured with the specified connection string, serializeAsText, and lockTimeout parameters.
Top
  Name Description
Public property ConnectionString Gets the connection parameters for persistence provider instances created with this factory.
Protected property DefaultCloseTimeout Gets the default time-out value used when persistence providers created with this factory are closed. (Overrides CommunicationObject.DefaultCloseTimeout.)
Protected property DefaultOpenTimeout Gets the default time-out value used when persistence provider is opened. (Overrides CommunicationObject.DefaultOpenTimeout.)
Protected property IsDisposed Gets a value that indicates whether the communication object has been disposed. (Inherited from CommunicationObject.)
Public property LockTimeout The time-out for lock ownership used by persistence provider instances created by this instance. Locked instances are automatically unlocked after this time period.
Public property SerializeAsText Specifies whether data is serialized as text rather than binary in persistence providers created with this factory.
Public property State Gets a value that indicates the current state of the communication object. (Inherited from CommunicationObject.)
Protected property ThisLock Gets the mutually exclusive lock that protects the class instance during a state transition. (Inherited from CommunicationObject.)
Top
  Name Description
Public method Abort Causes a communication object to transition immediately from its current state into the closing state. (Inherited from CommunicationObject.)
Public method BeginClose(AsyncCallback, Object) Begins an asynchronous operation to close a communication object. (Inherited from CommunicationObject.)
Public method BeginClose(TimeSpan, AsyncCallback, Object) Begins an asynchronous operation to close a communication object with a specified timeout. (Inherited from CommunicationObject.)
Public method BeginOpen(AsyncCallback, Object) Begins an asynchronous operation to open a communication object. (Inherited from CommunicationObject.)
Public method BeginOpen(TimeSpan, AsyncCallback, Object) Begins an asynchronous operation to open a communication object within a specified interval of time. (Inherited from CommunicationObject.)
Public method Close() Causes a communication object to transition from its current state into the closed state. (Inherited from CommunicationObject.)
Public method 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.)
Public method CreateProvider Initializes a new LockingPersistenceProvider instance that uses a SQL database as its persistence store. (Overrides PersistenceProviderFactory.CreateProvider(Guid).)
Public method EndClose Completes an asynchronous operation to close a communication object. (Inherited from CommunicationObject.)
Public method EndOpen Completes an asynchronous operation to open a communication object. (Inherited from CommunicationObject.)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Fault Causes a communication object to transition from its current state into the faulted state. (Inherited from CommunicationObject.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Protected method GetCommunicationObjectType Gets the type of communication object. (Inherited from CommunicationObject.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnAbort Represents the Abort phase. (Overrides CommunicationObject.OnAbort().)
Protected method OnBeginClose Represents the beginning of the Close phase. (Overrides CommunicationObject.OnBeginClose(TimeSpan, AsyncCallback, Object).)
Protected method OnBeginOpen Represents the beginning of the Open phase. (Overrides CommunicationObject.OnBeginOpen(TimeSpan, AsyncCallback, Object).)
Protected method OnClose Represents the Close phase. (Overrides CommunicationObject.OnClose(TimeSpan).)
Protected method OnClosed Invoked during the transition of a communication object into the closing state. (Inherited from CommunicationObject.)
Protected method OnClosing Invoked during the transition of a communication object into the closing state. (Inherited from CommunicationObject.)
Protected method OnEndClose Represents the end of the Close phase. (Overrides CommunicationObject.OnEndClose(IAsyncResult).)
Protected method OnEndOpen Represents the end of the Open phase. (Overrides CommunicationObject.OnEndOpen(IAsyncResult).)
Protected method 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.)
Protected method OnOpen Represents the Open phase. (Overrides CommunicationObject.OnOpen(TimeSpan).)
Protected method OnOpened Invoked during the transition of a communication object into the opened state. (Inherited from CommunicationObject.)
Protected method OnOpening Invoked during the transition of a communication object into the opening state. (Inherited from CommunicationObject.)
Public method Open() Causes a communication object to transition from the created state into the opened state. (Inherited from CommunicationObject.)
Public method 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.)
Protected method ThrowIfDisposed Throws an exception if the communication object is disposed. (Inherited from CommunicationObject.)
Protected method ThrowIfDisposedOrImmutable Throws an exception if the communication object the State property is not set to the Created state. (Inherited from CommunicationObject.)
Protected method ThrowIfDisposedOrNotOpen Throws an exception if the communication object is not in the Opened state. (Inherited from CommunicationObject.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Top
  Name Description
Public event Closed Occurs when a communication object transitions into the closed state. (Inherited from CommunicationObject.)
Public event Closing Occurs when a communication object transitions into the closing state. (Inherited from CommunicationObject.)
Public event Faulted Occurs when a communication object transitions into the faulted state. (Inherited from CommunicationObject.)
Public event Opened Occurs when a communication object transitions into the opened state. (Inherited from CommunicationObject.)
Public event Opening Occurs when a communication object transitions into the opening state. (Inherited from CommunicationObject.)
Top

The SqlPersistenceProviderFactory class represents a factory class for a fully-functional, durable service persistence provider. You can use this system-provided provider to persist and retrieve state information about a durable service.

In addition to persistence, the provider created by the SqlPersistenceProviderFactory class implements locking of service state data records by inheriting from the abstract LockingPersistenceProvider class. Methods that interact with persisted data (such as Create() or Update()) have an optional parameter (lockInstance) that defines whether locks on the data in question are released or maintained.

Note Note

PersistenceException exceptions thrown by SqlPersistenceProviderFactory do not have their exception details hidden by default. To protect against security vulnerabilities, these details can be hidden by setting IncludeExceptionDetailInFaults to false.

Note Note

The SQL Persistence Provider stores and retrieves data from a SQL Server database. The host must create a secure SQL Server environment to protect against attackers gaining read/write access to the instance state either in the database or on the wire between the application and the database.

.NET Framework

Supported in: 4, 3.5

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ