Condividi tramite


DataCache.GetAndLock metodo (String, TimeSpan, out DataCacheLockHandle)

Blocca la chiave se questa è presente e non è bloccata, quindi restituisce l'oggetto a essa corrispondente.

Spazio dei nomi: Microsoft.ApplicationServer.Caching
Assembly: Microsoft.ApplicationServer.Caching.Client (in microsoft.applicationserver.caching.client.dll)

Uso

Sintassi

'Dichiarazione
Public Function GetAndLock ( _
    key As String, _
    timeout As TimeSpan, _
    <OutAttribute> ByRef lockHandle As DataCacheLockHandle _
) As Object
public Object GetAndLock (
    string key,
    TimeSpan timeout,
    out DataCacheLockHandle lockHandle
)
public:
Object^ GetAndLock (
    String^ key, 
    TimeSpan timeout, 
    [OutAttribute] DataCacheLockHandle^% lockHandle
)
public Object GetAndLock (
    String key, 
    TimeSpan timeout, 
    /** @attribute OutAttribute() */ /** @ref */ DataCacheLockHandle lockHandle
)

Parametri

  • key
    Il valore univoco utilizzato per identificare l'oggetto nella cache.
  • timeout
    Il periodo di tempo in cui l'oggetto dovrebbe restare bloccato.
  • lockHandle
    L'oggetto DataCacheLockHandle necessario per sbloccare l'oggetto. Il parametro di output lockHandle viene passato per riferimento.

Valore restituito

Restituisce un oggetto Object corrispondente al parametro key specificato se tale Object esiste e non è bloccato.

  • Se la chiave non esiste, viene generato un oggetto DataCacheException con il codice ErrorCode impostato su KeyDoesNotExist. Per correggere l'errore, creare oggetti in base alla chiave a cui si fa riferimento.

  • Se l'oggetto è già bloccato da un altro client della cache, viene generato un oggetto DataCacheException con il codice ErrorCode impostato su ObjectLocked. L'oggetto sarà inaccessibile fino a quando non verrà sbloccato dal client che lo ha bloccato.

Osservazioni

Finché il blocco è valido, eventuali ulteriori chiamate del metodo GetAndLock sullo stesso oggetto non riusciranno. Le normali chiamate del metodo Get non vengono bloccate e accedono sempre alla versione più recente dell'oggetto memorizzato nella cache. Per ulteriori informazioni sulla concorrenza, vedere Modelli di concorrenza e Metodi di concorrenza.

Protezione thread

Qualsiasi membro statico (condiviso in Visual Basic) di questo tipo è thread safe, diversamente dai membri istanza.

Piattaforme

Piattaforme di sviluppo

Visual Studio 2010 e versioni successive, .NET Framework 4

Piattaforme di destinazione

Windows 7; Windows Server 2008 R2; Windows Server 2008 Service Pack 2; Windows Vista Service Pack 2

Vedere anche

Informazioni di riferimento

Classe DataCache
DataCache membri
Spazio dei nomi Microsoft.ApplicationServer.Caching