SqlPersistenceProviderFactory 类

定义

注意

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

系统提供的 PersistenceProviderFactory 实现,用于创建一个 LockingPersistenceProvider 实例,该实例使用 SQL 数据库存储持久性服务状态数据。

public ref class SqlPersistenceProviderFactory : System::ServiceModel::Persistence::PersistenceProviderFactory
public class SqlPersistenceProviderFactory : System.ServiceModel.Persistence.PersistenceProviderFactory
[System.Obsolete("The WF3 types are deprecated.  Instead, please use the new WF4 types from System.Activities.*")]
public class SqlPersistenceProviderFactory : System.ServiceModel.Persistence.PersistenceProviderFactory
type SqlPersistenceProviderFactory = class
    inherit PersistenceProviderFactory
[<System.Obsolete("The WF3 types are deprecated.  Instead, please use the new WF4 types from System.Activities.*")>]
type SqlPersistenceProviderFactory = class
    inherit PersistenceProviderFactory
Public Class SqlPersistenceProviderFactory
Inherits PersistenceProviderFactory
继承
SqlPersistenceProviderFactory
属性

注解

SqlPersistenceProviderFactory 类表示功能完整的持久性服务永久性提供程序的工厂类。 可以使用此系统提供的提供程序来持久保存和检索有关持久 WCF 服务的状态信息。

除了持久性以外,SqlPersistenceProviderFactory 类创建的提供程序还可以通过从 LockingPersistenceProvider 抽象类继承来实现服务状态数据记录的锁定。 与持久化数据交互的方法 ((例如 CreateUpdate) )具有可选参数 () lockInstance ,用于定义是否释放或维护有关数据的锁。

备注

默认情况下,由 PersistenceException 引发的 SqlPersistenceProviderFactory 异常不隐藏其异常详细信息。 若要防范安全漏洞,可以通过设置为 IncludeExceptionDetailInFaults false 隐藏这些详细信息。

备注

SQL 永久性提供程序存储和检索 SQL Server 数据库中的数据。 主机必须创建一个安全的 SQL Server 环境以防止攻击者在数据库中或在应用程序和数据库之间的网络上获取对实例状态的读/写访问权限。

构造函数

SqlPersistenceProviderFactory(NameValueCollection)

初始化 SqlPersistenceProviderFactory 类的新实例,使用指定的参数集合进行配置。

SqlPersistenceProviderFactory(String)

初始化 SqlPersistenceProviderFactory 类的新实例,使用指定的连接字符串进行配置。

SqlPersistenceProviderFactory(String, Boolean)

初始化 SqlPersistenceProviderFactory 类的新实例,使用指定的连接字符串和 serializeAsText 参数进行配置。

SqlPersistenceProviderFactory(String, Boolean, TimeSpan)

初始化 SqlPersistenceProviderFactory 类的新实例,使用指定的连接字符串、serializeAsTextlockTimeout 参数进行配置。

属性

ConnectionString

获取使用此工厂创建的持久性提供程序实例的连接参数。

DefaultCloseTimeout

获取使用此工厂创建的永久性提供程序关闭时所用的默认超时值。

DefaultOpenTimeout

获取永久性提供程序打开时所用的默认超时值。

IsDisposed

获取一个值,该值指示通信对象是否已被释放。

(继承自 CommunicationObject)
LockTimeout

由此实例创建的永久性提供程序实例所使用的锁定所有权的超时。 锁定的实例将在此时间段后自动解锁。

SerializeAsText

指定使用此工厂创建的永久性提供程序中数据是否序列化为文本而不是二进制数据。

State

获取指示通信对象当前状态的值。

(继承自 CommunicationObject)
ThisLock

获取在状态转换过程中保护类实例的相互排斥锁。

(继承自 CommunicationObject)

方法

Abort()

使通信对象立即从其当前状态转换到正在关闭状态。

(继承自 CommunicationObject)
BeginClose(AsyncCallback, Object)

开始一个异步操作以关闭通信对象。

(继承自 CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

开始一个异步操作以在指定超时内关闭通信对象。

(继承自 CommunicationObject)
BeginOpen(AsyncCallback, Object)

开始一个异步操作以打开通信对象。

(继承自 CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

开始一个异步操作以在指定时间间隔内打开通信对象。

(继承自 CommunicationObject)
Close()

使通信对象从其当前状态转换到关闭状态。

(继承自 CommunicationObject)
Close(TimeSpan)

使通信对象在指定时间间隔内从当前状态转换到关闭状态。

(继承自 CommunicationObject)
CreateProvider(Guid)

初始化一个新 LockingPersistenceProvider 实例,该实例使用 SQL 数据库作为其持久性存储区。

EndClose(IAsyncResult)

完成一个异步操作以关闭通信对象。

(继承自 CommunicationObject)
EndOpen(IAsyncResult)

完成一个异步操作以打开通信对象。

(继承自 CommunicationObject)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
Fault()

使通信对象从其当前状态转换到出错状态。

(继承自 CommunicationObject)
GetCommunicationObjectType()

获取通信对象的类型。

(继承自 CommunicationObject)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnAbort()

表示“中止”阶段。

OnBeginClose(TimeSpan, AsyncCallback, Object)

表示“关闭”阶段开始。

OnBeginOpen(TimeSpan, AsyncCallback, Object)

表示“打开”阶段开始。

OnClose(TimeSpan)

表示“关闭”阶段。

OnClosed()

在通信对象转换到正在关闭状态的过程中被调用。

(继承自 CommunicationObject)
OnClosing()

在通信对象转换到正在关闭状态的过程中被调用。

(继承自 CommunicationObject)
OnEndClose(IAsyncResult)

表示“关闭”阶段结束。

OnEndOpen(IAsyncResult)

表示“打开”阶段结束。

OnFaulted()

在调用了同步错误操作,从而引起通信对象转换为出错状态的情况下,该方法插入对通信对象的处理。

(继承自 CommunicationObject)
OnOpen(TimeSpan)

表示“打开”阶段。

OnOpened()

在通信对象转换到已打开状态的过程中被调用。

(继承自 CommunicationObject)
OnOpening()

在通信对象转换到正在打开状态的过程中被调用。

(继承自 CommunicationObject)
Open()

使通信对象从已创建状态转换到已打开状态。

(继承自 CommunicationObject)
Open(TimeSpan)

使通信对象在指定时间间隔内从已创建状态转换到已打开状态。

(继承自 CommunicationObject)
ThrowIfDisposed()

如果通信对象已释放,则引发异常。

(继承自 CommunicationObject)
ThrowIfDisposedOrImmutable()

如果通信对象的 State 属性未设置为 Created 状态,则引发异常。

(继承自 CommunicationObject)
ThrowIfDisposedOrNotOpen()

如果通信对象未处于 Opened 状态,则引发异常。

(继承自 CommunicationObject)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

事件

Closed

当通信对象转换到已关闭状态时发生。

(继承自 CommunicationObject)
Closing

当通信对象转换到正在关闭状态时发生。

(继承自 CommunicationObject)
Faulted

在通信对象转换到出错状态时发生。

(继承自 CommunicationObject)
Opened

当通信对象转换到已打开状态时发生。

(继承自 CommunicationObject)
Opening

当通信对象转换到正在打开状态时发生。

(继承自 CommunicationObject)

适用于