กระบวนการsp_getapplock ที่เก็บไว้มีค่าส่งคืนต่อไปนี้:
0: การล็อกได้รับการอนุญาตให้สำเร็จพร้อมกัน
1: อนุญาตให้ล็อกสำเร็จหลังจากรอการล็อกอื่นที่เข้ากันไม่ได้
-1: คำขอล็อกหมดเวลา
-2: คำขอล็อคถูกยกเลิก
-3: คำขอล็อคถูกเลือกให้เป็นเหยื่อการหยุดชะงัก
-999: ระบุการตรวจสอบความถูกต้องของพารามิเตอร์หรือข้อผิดพลาดการโทรอื่น ๆ
ฉันกำลังเขียน wrapper สำหรับการโทรsp_getapplock
ใน data access layer ของเราและฉันต้องการทราบว่าภายใต้สถานการณ์ใด -2 ซึ่งสามารถส่งคืนได้เพื่อที่ฉันจะสามารถโยนข้อยกเว้นเชิงอธิบายและเป็นประโยชน์ เห็นได้ชัดว่าค่าส่งคืนของ -1 และ -3 หมายถึงอะไรและฉันสามารถสร้างเงื่อนไขการทดสอบที่ทำให้ค่าเหล่านั้นถูกส่งคืนได้อย่างง่ายดาย ฉันจะจัดการเพื่อรับค่าตอบแทนเป็น -2 ได้อย่างไร