共用方式為


DataServiceContext.BeginSaveChanges 方法 (SaveChangesOptions, AsyncCallback, Object)

以非同步方式將自從上一次儲存變更後 DataServiceContext 所收集之暫止的變更送出至資料服務。

命名空間:  System.Data.Services.Client
組件:  Microsoft.Data.Services.Client (在 Microsoft.Data.Services.Client.dll 中)

語法

'宣告
Public Function BeginSaveChanges ( _
    options As SaveChangesOptions, _
    callback As AsyncCallback, _
    state As Object _
) As IAsyncResult
'用途
Dim instance As DataServiceContext
Dim options As SaveChangesOptions
Dim callback As AsyncCallback
Dim state As Object
Dim returnValue As IAsyncResult

returnValue = instance.BeginSaveChanges(options, _
    callback, state)
public IAsyncResult BeginSaveChanges(
    SaveChangesOptions options,
    AsyncCallback callback,
    Object state
)
public:
IAsyncResult^ BeginSaveChanges(
    SaveChangesOptions options, 
    AsyncCallback^ callback, 
    Object^ state
)
member BeginSaveChanges : 
        options:SaveChangesOptions * 
        callback:AsyncCallback * 
        state:Object -> IAsyncResult 
public function BeginSaveChanges(
    options : SaveChangesOptions, 
    callback : AsyncCallback, 
    state : Object
) : IAsyncResult

參數

  • state
    型別:System.Object
    使用者定義的狀態物件,用於將內容資料傳遞給回呼方法。

傳回值

型別:System.IAsyncResult
IAsyncResult ,表示非同步作業的狀態。

備註

變更會以呼叫 AddObjectAddLinkAttachToAttachLinkDeleteObjectDeleteLinkDetachDetachLink 的方式加入至 DataServiceContext

如果設定 Batch,則所有暫止的變更都包含在批次中的單一變更集,並在單一 HTTP 要求中送出給資料服務。 這項作業需要目標服務支援批次處理才行。

如果 Batch 未設定:

  • 變更傳送到資料服務的方式就如同 SaveChanges() 方法一樣:每個 HTTP 要求一個作業。

  • StatusCode 一定會是 200。

  • Headers 屬性會傳回空集合。

如果設定 ContinueOnError

  • 如果在處理變更集作業時發生錯誤,資料服務不會嘗試變更集的後續作業,不過資料服務會繼續處理批次中的下一個變更集。

  • 已設定 Batch 時不能設定此選項,因為當啟用批次處理時,所有作業都放置在單一變更集。

如果 ContinueOnError 未設定:

  • 如果在處理作業時發生錯誤,資料服務不會處理任何其他作業,

而是產生回應,告知用戶端哪些作業已執行、其結果,以及哪些作業由於錯誤而未嘗試。

請參閱

參考

DataServiceContext 類別

BeginSaveChanges 多載

System.Data.Services.Client 命名空間