Mengakses OperationContext

Sampel AccessingOperationContext menunjukkan bagaimana aktivitas olahpesan (Receive dan Send) dapat digunakan dengan aktivitas cakupan kustom untuk mengakses Current dan melampirkan atau mengambil header pesan kustom dalam pesan keluar atau masuk.

Menunjukkan

Aktivitas Olahpesan, ISendMessageCallback, IReceiveMessageCallback.

Diskusi

Sampel ini menunjukkan cara menggunakan titik ekstensibilitas (ISendMessageCallback) IReceiveMessageCallback) dalam aktivitas olahpesan untuk mengakses Current. Fungsi panggilan balik terdaftar dalam runtime alur kerja sebagai implementasi IExecutionProperty yang diproses oleh aktivitas pengiriman pesan setelah dieksekusi. Setiap aktivitas pesan yang berada dalam cakupan yang sama dengan implementasi tersebut IExecutionProperty akan terpengaruh. Secara khusus, sampel ini menggunakan aktivitas cakupan kustom untuk memberlakukan perilaku panggilan balik. ISendMessageCallback digunakan dalam alur kerja klien untuk menyertakan alur Id kerja sebagai keluar MessageHeader. Header ini kemudian diambil oleh layanan menggunakan IReceiveMessageCallback dan nilai header dicetak ke konsol.

Menyiapkan, membangun, dan menjalankan sampel

  1. Sampel ini mengekspos layanan alur kerja menggunakan titik akhir HTTP. Untuk menjalankan sampel ini, ACL URL yang tepat harus ditambahkan (lihat Mengonfigurasi HTTP dan HTTPS untuk detailnya), baik dengan menjalankan Visual Studio sebagai Administrator atau dengan menjalankan perintah berikut pada prompt yang ditinggikan untuk menambahkan ACL yang sesuai. Pastikan Domain dan Nama Pengguna Anda diganti.

    netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%
    
  2. Setelah ACL URL ditambahkan, gunakan langkah-langkah berikut.

    1. Bangun solusinya.

    2. Atur beberapa proyek start-up dengan mengklik kanan solusi dan memilih Atur Proyek Startup.

    3. Tambahkan Layanan dan Klien (dalam urutan tersebut) sebagai beberapa proyek start-up.

    4. Jalankan aplikasi. Konsol klien menunjukkan alur kerja yang berjalan dua kali dan jendela Layanan menunjukkan ID instans alur kerja tersebut.