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