語言

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。

Note

在建立持久性提供者實作時,重要的是在新提供者的方法中保留執行緒的原始身份(例如 Load. 否則,可能會產生安全漏洞,因為操作會在錯誤身份下執行。

建構函式

名稱 Description
PersistenceProvider(Guid)
已淘汰.

當在衍生類別中實作時,會初始化該 PersistenceProvider 類別的新實例。

屬性

名稱 Description
DefaultCloseTimeout
已淘汰.

當在派生類別中覆寫時,會得到預設的緊密運算完成時間間隔。

(繼承來源 CommunicationObject)
DefaultOpenTimeout
已淘汰.

當在派生類別中覆寫時,會得到預設的開放操作完成時間間隔。

(繼承來源 CommunicationObject)
Id
已淘汰.

代表與此實例相關的。Guid

IsDisposed
已淘汰.

會得到一個值,表示通訊物件是否已被處置。

(繼承來源 CommunicationObject)
State
已淘汰.

會得到一個表示通訊物件當前狀態的值。

(繼承來源 CommunicationObject)
ThisLock
已淘汰.

取得互斥鎖,保護類別實例在狀態轉換期間。

(繼承來源 CommunicationObject)

方法

名稱 Description
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)
已淘汰.

當在衍生類別中實作時,會更新持久儲存中的服務狀態紀錄。

事件

名稱 Description
Closed
已淘汰.

當通訊物件轉換到封閉狀態時,會發生這種情況。

(繼承來源 CommunicationObject)
Closing
已淘汰.

當通訊物件轉換到關閉狀態時,會發生這種情況。

(繼承來源 CommunicationObject)
Faulted
已淘汰.

當通訊物件轉換到錯誤狀態時,會發生這種情況。

(繼承來源 CommunicationObject)
Opened
已淘汰.

當通訊物件轉換進入開啟狀態時,會發生這種情況。

(繼承來源 CommunicationObject)
Opening
已淘汰.

當通訊物件轉換到開啟狀態時,會發生這種情況。

(繼承來源 CommunicationObject)

適用於