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