Kilitle¶
Belirtilen anahtar için kilit edinmeye çalışır ve kilit edinilene kadar bekler.
$Cache.Lock(key: string):( dize | "null" )
Belirtilen anahtar için kilit edinmeye çalışır; kilit edinilene veya zaman aşımı süresi dolana kadar belirlenen süre boyunca bekler.
$Cache.Lock(key: string, blockingTimeout: string, duration?: string, tryLockInterval?: string):( dize | "null" )
Parametreler¶
string key
Paylaşımlı erişim için benzersiz tanımlayıcı olan kilit anahtarı. Zorunludur.
string blockingTimeout
Kilit için beklenecek süre; "hh:mm:ss" biçimindedir. Varsayılan değer 60 saniyedir.
string duration optional
string tryLockInterval optional
Döndürür¶
Başarılı olursa edinilen kilit belirtecini, aksi takdirde null değerini döndürür. Başarılı olursa edinilen kilit belirtecini, aksi takdirde null değerini döndürür.
Açıklamalar¶
Bu yöntem, paylaşımlı anahtar serbest kalana veya zaman aşımına ulaşılana kadar otomatik olarak bekleme durumuna geçer. Beklemek istemiyorsanız bunun yerine $Cache.TryLock yöntemini kullanın.
Edinilen kilitler her zaman şu yöntem kullanılarak serbest bırakılmalıdır: $Cache.ReleaseLock oluşturulan belirteç değeriyle. Belirteç sahipliği kanıtlar; farklı bir belirteç kilidi serbest bırakamaz. Aksi takdirde kilit, yapılandırılmış veya sağlayıcının varsayılan süresi dolana kadar tutulur.
Kilit edinmeye çalışma, gerekirse bekleme ve işlem tamamlandıktan sonra kilidi serbest bırakma¶
1 2 3 4 5 6 7 | |
$Cache.TryLock yöntemini kullanın. Edinilen kilitler her zaman şu yöntem kullanılarak serbest bırakılmalıdır: $Cache.ReleaseLock oluşturulan belirteç değeriyle. Belirteç sahipliği kanıtlar; farklı bir belirteç kilidi serbest bırakamaz. Aksi takdirde kilit, yapılandırılmış veya sağlayıcının varsayılan süresi dolana kadar tutulur.
Kilit zaten tutuluyorsa 30 saniye bekleme¶
1 2 3 4 5 6 7 8 | |