共用方式為


SqlPersistenceProviderFactory 類別

定義

警告

The WF3 types are deprecated. Instead, please use the new WF4 types from System.Activities.*

系統提供的 PersistenceProviderFactory 實作,用來建立 LockingPersistenceProvider 執行個體,該執行個體會使用 SQL 資料庫儲存持續性的服務狀態資料。

public ref class SqlPersistenceProviderFactory : System::ServiceModel::Persistence::PersistenceProviderFactory
public class SqlPersistenceProviderFactory : System.ServiceModel.Persistence.PersistenceProviderFactory
[System.Obsolete("The WF3 types are deprecated.  Instead, please use the new WF4 types from System.Activities.*")]
public class SqlPersistenceProviderFactory : System.ServiceModel.Persistence.PersistenceProviderFactory
type SqlPersistenceProviderFactory = class
    inherit PersistenceProviderFactory
[<System.Obsolete("The WF3 types are deprecated.  Instead, please use the new WF4 types from System.Activities.*")>]
type SqlPersistenceProviderFactory = class
    inherit PersistenceProviderFactory
Public Class SqlPersistenceProviderFactory
Inherits PersistenceProviderFactory
繼承
SqlPersistenceProviderFactory
屬性

備註

SqlPersistenceProviderFactory 類別代表全功能的長期服務持續性提供者的處理站類別。 您可以使用這個系統提供的提供者來保存和擷取長期 WCF 服務的狀態資訊。

除了持續性之外,SqlPersistenceProviderFactory 類別建立的提供者也繼承了抽象 LockingPersistenceProvider 類別,以實作服務狀態資料記錄的鎖定。 與保存資料互動的方法 (例如 CreateUpdate) 具有選擇性參數 (lockInstance) ,可定義發行或維護問題資料的鎖定。

注意

根據預設,PersistenceException 擲回的 SqlPersistenceProviderFactory 例外狀況不會隱藏其例外狀況詳細資料。 若要防範安全性弱點,您可以將 設定 IncludeExceptionDetailInFaultsfalse 來隱藏這些詳細資料。

注意

SQL 持續性提供者會在 SQL Server 資料庫儲存與擷取資料。 主機必須建立安全的 SQL Server 環境,避免攻擊者讀/寫資料庫內 (或應用程式與資料庫間通訊) 的執行個體狀態。

建構函式

SqlPersistenceProviderFactory(NameValueCollection)

初始化 SqlPersistenceProviderFactory 類別的新執行個體,以指定的參數集合加以設定。

SqlPersistenceProviderFactory(String)

初始化 SqlPersistenceProviderFactory 類別的新執行個體,以指定的連線字串設定。

SqlPersistenceProviderFactory(String, Boolean)

初始化 SqlPersistenceProviderFactory 類別的新執行個體,以指定的連線字串與 serializeAsText 參數加以設定。

SqlPersistenceProviderFactory(String, Boolean, TimeSpan)

初始化 類別的新執行個體,以指定的連線字串、 與 參數加以設定。

屬性

ConnectionString

取得使用這個處理站建立的持續性提供者執行個體的連接參數。

DefaultCloseTimeout

取得當此處理站建立的持續性提供者關閉時所用的預設逾時值。

DefaultOpenTimeout

取得當持續性提供者開啟時所用的預設逾時值。

IsDisposed

取得值,這個值會指出是否已經處置通訊物件。

(繼承來源 CommunicationObject)
LockTimeout

鎖定擁有權的逾時,此執行個體建立的持續性提供者執行個體會使用它。 經過此時間後,鎖定的執行個體會自動解除鎖定。

SerializeAsText

指定此處理站建立的持續性提供者中,資料要序列化成文字,而非二進位。

State

取得值,這個值表示通訊物件目前的狀態。

(繼承來源 CommunicationObject)
ThisLock

取得會在狀態轉換期間保護類別執行個體的互斥鎖定。

(繼承來源 CommunicationObject)

方法

Abort()

導致通訊物件立即從目前的狀態轉換為關閉狀態。

(繼承來源 CommunicationObject)
BeginClose(AsyncCallback, Object)

開始非同步作業以關閉通訊物件。

(繼承來源 CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

開始非同步作業,關閉有已指定逾時的通訊物件。

(繼承來源 CommunicationObject)
BeginOpen(AsyncCallback, Object)

開始非同步作業以開啟通訊物件。

(繼承來源 CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

開始非同步作業,開啟有已指定時間間隔的通訊物件。

(繼承來源 CommunicationObject)
Close()

導致通訊物件從目前的狀態轉換為已關閉狀態。

(繼承來源 CommunicationObject)
Close(TimeSpan)

在指定時間間隔內,讓通訊物件從目前的狀態轉換為已關閉狀態。

(繼承來源 CommunicationObject)
CreateProvider(Guid)

初始化 LockingPersistenceProvider 類別的新執行個體,此個體使用 SQL 資料庫作為其持續性存放區。

EndClose(IAsyncResult)

完成非同步作業以關閉通訊物件。

(繼承來源 CommunicationObject)
EndOpen(IAsyncResult)

完成非同步作業以開啟通訊物件。

(繼承來源 CommunicationObject)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Fault()

導致通訊物件從目前的狀態轉換為錯誤狀態。

(繼承來源 CommunicationObject)
GetCommunicationObjectType()

取得通訊物件的型別。

(繼承來源 CommunicationObject)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
OnAbort()

表示中止階段。

OnBeginClose(TimeSpan, AsyncCallback, Object)

代表「關閉」階段的開始。

OnBeginOpen(TimeSpan, AsyncCallback, Object)

代表「開啟」階段的開始。

OnClose(TimeSpan)

表示關閉階段。

OnClosed()

在將通訊物件轉換為關閉狀態期間會叫用。

(繼承來源 CommunicationObject)
OnClosing()

在將通訊物件轉換為關閉狀態期間會叫用。

(繼承來源 CommunicationObject)
OnEndClose(IAsyncResult)

代表「關閉」階段的結束。

OnEndOpen(IAsyncResult)

代表「開啟」階段的結束。

OnFaulted()

在通訊物件上插入處理 (當它因為叫用同步錯誤作業而轉換到錯誤狀態之後)。

(繼承來源 CommunicationObject)
OnOpen(TimeSpan)

表示開啟階段。

OnOpened()

在將通訊物件轉換至已開啟狀態期間會叫用。

(繼承來源 CommunicationObject)
OnOpening()

在將通訊物件轉換至開啟狀態期間會叫用。

(繼承來源 CommunicationObject)
Open()

導致通訊物件從已建立狀態轉換為已開啟狀態。

(繼承來源 CommunicationObject)
Open(TimeSpan)

在指定時間間隔內,讓通訊物件從已建立狀態轉換為已開啟狀態。

(繼承來源 CommunicationObject)
ThrowIfDisposed()

如果已處置通訊物件,則會擲回例外狀況。

(繼承來源 CommunicationObject)
ThrowIfDisposedOrImmutable()

如果通訊物件的 State 屬性並未設定為 Created 狀態,就會擲回例外狀況。

(繼承來源 CommunicationObject)
ThrowIfDisposedOrNotOpen()

如果通訊物件不是處於 Opened 狀態,就會擲回例外狀況。

(繼承來源 CommunicationObject)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

事件

Closed

當通訊物件轉換至已關閉狀態時發生。

(繼承來源 CommunicationObject)
Closing

當通訊物件轉換至關閉狀態時就會發生。

(繼承來源 CommunicationObject)
Faulted

當通訊物件轉換至錯誤狀態時發生。

(繼承來源 CommunicationObject)
Opened

當通訊物件轉換至已開啟狀態時發生。

(繼承來源 CommunicationObject)
Opening

當通訊物件轉換至開啟狀態時發生。

(繼承來源 CommunicationObject)

適用於