Share via


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)

適用於