PersistenceProvider 类

定义

注意

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

从中派生所有持久性服务永久性提供程序的抽象基类。

public ref class PersistenceProvider abstract : System::ServiceModel::Channels::CommunicationObject
public abstract class PersistenceProvider : System.ServiceModel.Channels.CommunicationObject
[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
type PersistenceProvider = class
    inherit CommunicationObject
[<System.Obsolete("The WF3 types are deprecated.  Instead, please use the new WF4 types from System.Activities.*")>]
type PersistenceProvider = class
    inherit CommunicationObject
Public MustInherit Class PersistenceProvider
Inherits CommunicationObject
继承
PersistenceProvider
派生
属性

示例

有关使用文件系统作为持久性存储区的此类型的实现,请参见 DurableServiceFactory SDK 示例中的 FilePersistenceProviderFactory.cs 文件。

注解

用户可以创建从此类型派生的类,以创建使用自定义持久性存储区(如第三方数据库、文件系统或远程访问的存储系统)的持久性服务永久性提供程序。 若要创建使用 Microsoft SQL Server 作为持久性存储区的此类型的系统提供的实现,请参见 SqlPersistenceProviderFactory

备注

在创建永久性提供程序实现时,必须在新提供程序的方法(如 Load)中保留线程的原始标识。 否则会形成安全漏洞,因为在这种情况下,操作将会在错误的标识下运行。

构造函数

PersistenceProvider(Guid)

在派生类中实现时,初始化 PersistenceProvider 类的新实例。

属性

DefaultCloseTimeout

在派生类中重写时,获取为完成关闭操作提供的默认时间间隔。

(继承自 CommunicationObject)
DefaultOpenTimeout

在派生类中重写时,获取为完成打开操作提供的默认时间间隔。

(继承自 CommunicationObject)
Id

表示与此实例关联的 Guid

IsDisposed

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

(继承自 CommunicationObject)
State

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

(继承自 CommunicationObject)
ThisLock

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

(继承自 CommunicationObject)

方法

Abort()

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

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

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

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

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

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

在派生类中实现时,表示“创建”阶段开始。 第一次在持久性存储区中创建服务实例记录时将进入“创建”阶段。

BeginDelete(Object, TimeSpan, AsyncCallback, Object)

在派生类中实现时,表示“删除”阶段开始。 将服务状态数据从持久性存储区中永久删除时将进入“删除”阶段。

BeginLoad(TimeSpan, AsyncCallback, Object)

在派生类中实现时,表示“加载”阶段开始。 将状态数据从持久性存储区加载到永久性提供程序中时将进入“加载”阶段。

BeginLoadIfChanged(TimeSpan, Object, AsyncCallback, Object)

在派生类中实现时,表示“LoadIfChanged”阶段开始。 将状态数据从持久性存储区加载到永久性提供程序中,并且持久性存储区中的状态数据已更改时,将进入“LoadIfChanged”阶段。

BeginOpen(AsyncCallback, Object)

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

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

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

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

在派生类中实现时,表示“更新”阶段开始。 在持久性存储区中更新服务状态数据时将进入“更新”阶段。

Close()

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

(继承自 CommunicationObject)
Close(TimeSpan)

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

(继承自 CommunicationObject)
Create(Object, TimeSpan)

在派生类中实现时,在持久性存储区中创建服务状态记录。

Delete(Object, TimeSpan)

在派生类中实现时,从持久性存储区中永久删除服务状态信息。

EndClose(IAsyncResult)

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

(继承自 CommunicationObject)
EndCreate(IAsyncResult)

在派生类中实现时,表示“创建”阶段结束。 第一次在持久性存储区中创建服务状态记录时将进入“创建”阶段。

EndDelete(IAsyncResult)

在派生类中实现时,表示“删除”阶段结束。 将状态数据从持久性存储区中永久删除时将进入“删除”阶段。

EndLoad(IAsyncResult)

在派生类中实现时,表示“加载”阶段结束。 将状态数据从持久性存储区加载到永久性提供程序中时将进入“加载”阶段。

EndLoadIfChanged(IAsyncResult, Object)

在派生类中实现时,表示“LoadIfChanged”阶段结束。 将状态数据从持久性存储区加载到永久性提供程序中,并且持久性存储区中的状态数据已更改时,将进入“LoadIfChanged”阶段。

EndOpen(IAsyncResult)

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

(继承自 CommunicationObject)
EndUpdate(IAsyncResult)

表示“更新”阶段结束。 在持久性存储区中更新服务状态记录时将进入“更新”阶段。

Equals(Object)

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

(继承自 Object)
Fault()

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

(继承自 CommunicationObject)
GetCommunicationObjectType()

获取通信对象的类型。

(继承自 CommunicationObject)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
Load(TimeSpan)

在派生类中实现时,从持久性存储区中加载服务状态信息。

LoadIfChanged(TimeSpan, Object, Object)

在派生类中实现时,如果服务状态信息数据发生了更改,则从持久性存储区中加载服务状态信息。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnAbort()

在调用了一个同步中止操作,从而引起通信对象转换为关闭状态的情况下,该方法插入对通信对象的处理。

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

在调用了异步关闭操作,从而引起通信对象转换为正在关闭状态的情况下,该方法将插入处理。

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

在调用了异步打开操作,从而引起通信对象转换为正在打开状态的情况下,该方法将插入处理。

(继承自 CommunicationObject)
OnClose(TimeSpan)

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

(继承自 CommunicationObject)
OnClosed()

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

(继承自 CommunicationObject)
OnClosing()

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

(继承自 CommunicationObject)
OnEndClose(IAsyncResult)

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

(继承自 CommunicationObject)
OnEndOpen(IAsyncResult)

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

(继承自 CommunicationObject)
OnFaulted()

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

(继承自 CommunicationObject)
OnOpen(TimeSpan)

在通信对象转换为打开状态(此过程必须在指定时间间隔内完成)后插入对通信对象的处理。

(继承自 CommunicationObject)
OnOpened()

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

(继承自 CommunicationObject)
OnOpening()

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

(继承自 CommunicationObject)
Open()

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

(继承自 CommunicationObject)
Open(TimeSpan)

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

(继承自 CommunicationObject)
ThrowIfDisposed()

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

(继承自 CommunicationObject)
ThrowIfDisposedOrImmutable()

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

(继承自 CommunicationObject)
ThrowIfDisposedOrNotOpen()

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

(继承自 CommunicationObject)
ToString()

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

(继承自 Object)
Update(Object, TimeSpan)

在派生类中实现时,在持久性存储区中更新服务状态记录。

事件

Closed

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

(继承自 CommunicationObject)
Closing

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

(继承自 CommunicationObject)
Faulted

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

(继承自 CommunicationObject)
Opened

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

(继承自 CommunicationObject)
Opening

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

(继承自 CommunicationObject)

适用于