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
參數
- options
型別:System.Data.Services.Client.SaveChangesOptions
有關用戶端儲存暫止的變更集之方式的選項。
- callback
型別:System.AsyncCallback
作業完成時要呼叫的委派。
- state
型別:System.Object
使用者定義的狀態物件,用於將內容資料傳遞給回呼方法。
傳回值
型別:System.IAsyncResult
IAsyncResult ,表示非同步作業的狀態。
備註
變更會以呼叫 AddObject、AddLink、AttachTo、AttachLink、DeleteObject、DeleteLink、Detach 或 DetachLink 的方式加入至 DataServiceContext。
如果設定 Batch,則所有暫止的變更都包含在批次中的單一變更集,並在單一 HTTP 要求中送出給資料服務。 這項作業需要目標服務支援批次處理才行。
如果 Batch 未設定:
變更傳送到資料服務的方式就如同 SaveChanges() 方法一樣:每個 HTTP 要求一個作業。
StatusCode 一定會是 200。
Headers 屬性會傳回空集合。
如果設定 ContinueOnError:
如果在處理變更集作業時發生錯誤,資料服務不會嘗試變更集的後續作業,不過資料服務會繼續處理批次中的下一個變更集。
已設定 Batch 時不能設定此選項,因為當啟用批次處理時,所有作業都放置在單一變更集。
如果 ContinueOnError 未設定:
- 如果在處理作業時發生錯誤,資料服務不會處理任何其他作業,
而是產生回應,告知用戶端哪些作業已執行、其結果,以及哪些作業由於錯誤而未嘗試。