Arama iptali
Çağrı iptal bildirimi, sunucu tarafı hizmet işlemlerinin ve hizmet modeli geri çağrılarının çalışmasını iptal eder. Bu tür iptaller iki nedenden biri olabilir:
- Hizmet konağı, WsAbortServiceHost işlevine yapılan bir çağrı nedeniyle işlemleri durdurdu.
- Temel alınan kanal bir hataya neden oldu.
İptal bildirimi almak için hizmet işleminin veya hizmet modeli geri çağırmasının WsRegisterOperationForCancel işlevini çağırarak bir WS_OPERATION_CANCEL_CALLBACK geri çağırma kaydetmesi gerekir.
İsteğe bağlı olarak, iptal bildirimine kaydolma işleminin bir parçası olarak hizmet işlemi veya hizmet modeli geri çağırması, uygulamaya özgü durum verilerini ve WS_OPERATION_FREE_STATE_CALLBACK geri çağırmayı da kaydedebilir.
Durum verileri, WS_OPERATION_CANCEL_CALLBACK geri çağırma için kullanılabilir hale getirilir. Çağrı tamamlandığında, uygulamaya durum verilerini serbest bırakma fırsatı vermek için WS_OPERATION_FREE_STATE_CALLBACK geri çağırma çağrılır.
Kod örneği için bkz. BlockingServiceExample.
İptal geri çağırması, sunucu tarafı hizmet işlemlerinin veya geri çağırma işlevinin ömrü boyunca yalnızca bir kez çağrılır.
çağrısı iptali, parametresi olarak WS_OPERATION_CONTEXT alan tüm hizmet konağı geri çağırmaları için kullanılabilir.
Aşağıdaki API öğeleri çağrı iptali ile ilgilidir.
Geri çağırma | Açıklama |
---|---|
WS_OPERATION_CANCEL_CALLBACK | Hizmet ana bilgisayarının durdurulması sonucunda zaman uyumsuz bir hizmet işleminin iptalini bildirmek için hizmet modeli tarafından çağrılır. |
WS_OPERATION_FREE_STATE_CALLBACK | Bir uygulamanın iptal geri çağırmasıyla kaydedilen durum verilerini temizlemesine izin vermek için hizmet modeli tarafından çağrılır. |
Fonksiyon | Açıklama |
---|---|
WsRegisterOperationForCancel | Bir hizmet işleminin veya hizmet modeli geri çağırmanın iptal bildirimine kaydolmasına izin verir. |