PersistenceProvider 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
注意
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
- 继承
- 派生
- 属性
示例
有关使用文件系统作为持久性存储区的此类型的实现,请参见 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) |