Bagikan melalui


WorkflowPersistenceService.SaveCompletedContextActivity(Activity) Metode

Definisi

Saat diimplementasikan dalam kelas turunan, menyimpan cakupan lengkap yang ditentukan ke penyimpanan data.

protected public:
 abstract void SaveCompletedContextActivity(System::Workflow::ComponentModel::Activity ^ activity);
protected internal abstract void SaveCompletedContextActivity(System.Workflow.ComponentModel.Activity activity);
abstract member SaveCompletedContextActivity : System.Workflow.ComponentModel.Activity -> unit
Protected Friend MustOverride Sub SaveCompletedContextActivity (activity As Activity)

Parameter

activity
Activity

Yang Activity mewakili cakupan yang telah selesai.

Keterangan

Mesin runtime alur kerja menghemat status aktivitas cakupan yang selesai untuk menerapkan kompensasi. Anda harus memanggil salah satu metode yang kelebihan beban untuk diserialisasikan Saveactivity ke dalam Stream; Anda kemudian dapat memilih untuk memprosesnya Stream secara tambahan sebelum menulisnya ke penyimpanan data Anda. Namun, ketika mesin runtime alur kerja memanggil LoadCompletedContextActivity, Anda harus memulihkan salinan aktivitas yang identik.

Anda harus dapat mengaitkan cakupan yang selesai dengan instans alur kerja yang tertutup untuk menandai cakupan sebagai tidak diperlukan di penyimpanan data Anda saat instans alur kerja selesai atau dihentikan. Oleh karena itu, Anda juga harus menyimpan Guid instans alur kerja yang terkait dengan cakupan yang telah selesai; ini dapat diperoleh dari InstanceId properti yang WorkflowInstance terkait dengan activity.

LoadCompletedContextActivity Guid mengambil cakupan yang telah selesai sebagai parameter. Oleh karena itu, Anda juga harus menyimpan properti yang ContextGuid terkait dengan activity. Properti ini dapat dirujuk melalui ActivityContextGuidProperty bidang activity.

Jika Anda menerapkan layanan persistensi yang menggunakan penyimpanan tahan lama, untuk menjaga konsistensi dengan status internal mesin runtime alur kerja, Anda harus berpartisipasi dalam batching transaksi alur kerja untuk menunda penulisan aktual ke penyimpanan tahan lama Anda hingga titik penerapan alur kerja. Untuk berpartisipasi dalam batching, tambahkan item kerja ke WorkBatch properti yang mewakili perubahan yang tertunda pada database, dan terapkan IPendingWork antarmuka dalam layanan persistensi Anda.

Jika Anda tidak dapat menyimpan cakupan yang telah selesai ke penyimpanan data, Anda harus melempar PersistenceException dengan pesan kesalahan yang sesuai.

Berlaku untuk