Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara mengaktifkan persistensi untuk alur kerja dan layanan alur kerja.
Mengaktifkan persistensi untuk alur kerja
Anda dapat mengaitkan penyimpanan instans dengan WorkflowApplication dengan menggunakan properti InstanceStore dari kelas WorkflowApplication. Metode Persist menyimpan atau mempertahankan alur kerja ke dalam penyimpanan instans yang terkait dengan aplikasi. Metode Unload ini mempertahankan alur kerja ke penyimpanan instans lalu membatalkan pemuatan instans dari memori. Metode Muat memuat alur kerja ke dalam memori menggunakan data alur kerja yang disimpan di penyimpanan persistensi instans.
Metode Pertahankan melakukan langkah-langkah berikut:
- Menjeda penjadwal alur kerja dan menunggu hingga alur kerja memasuki status tidak aktif.
- Mempertahankan atau menyimpan alur kerja ke dalam penyimpanan persistensi.
- Melanjutkan penjadwal alur kerja.
Metode Batalkan muatan melakukan langkah-langkah berikut:
- Menjeda penjadwal alur kerja dan menunggu hingga alur kerja memasuki status tidak aktif.
- Mempertahankan atau menyimpan alur kerja ke dalam penyimpanan persistensi.
- Membuang instans alur kerja dalam memori.
Metode Pertahankan dan Batalkan muatan akan diblokir saat alur kerja berada di zona tanpa persisten hingga alur kerja keluar dari zona tanpa persisten. Metode ini berlanjut dengan operasi persistensi atau batalkan muatan setelah zona tanpa persistensi selesai. Jika zona tanpa persisten tidak selesai sebelum waktu habis berlalu, atau jika proses persistensi memakan waktu terlalu lama, akan TimeoutException dilemparkan.
Aktifkan persistensi dalam kode
Anggota DurableInstancingOptions kelas WorkflowServiceHost memiliki properti bernama InstanceStore yang dapat Anda gunakan untuk mengaitkan penyimpanan instans dengan WorkflowServiceHost.
// wsh is an instance of WorkflowServiceHost class
wsh.DurableInstancingOptions.InstanceStore = new SqlWorkflowInstanceStore();
Ketika WorkflowServiceHost dibuka, persistensi diaktifkan secara otomatis jika DurableInstancingOptions.InstanceStore tidak null.
Biasanya, perilaku layanan menyediakan penyimpanan instans konkret untuk digunakan dengan host layanan alur kerja dengan menggunakan properti InstanceStore. Misalnya, membuat instans SqlWorkflowInstanceStore, mengonfigurasinya, dan menetapkannya ke DurableInstancingOptions.InstanceStore. SqlWorkflowInstanceStoreBehavior
Mengaktifkan persistensi menggunakan file konfigurasi aplikasi
Persistensi dapat diaktifkan menggunakan file konfigurasi aplikasi dengan menambahkan kode berikut ke file konfigurasi aplikasi atau file konfigurasi web Anda:
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="myBehavior">
<sqlWorkflowInstanceStore connectionString="Data Source=myDatabaseServer;Initial Catalog=myPersistenceDatabase" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Penting
Microsoft menyarankan agar Anda menggunakan alur autentikasi paling aman yang tersedia. Jika Anda menyambungkan ke Azure SQL, Identitas Terkelola untuk sumber daya Azure adalah metode autentikasi yang direkomendasikan.