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。
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) |