DataCache.GetAndLock Method (String, TimeSpan, out DataCacheLockHandle, String, Boolean)

Lock the key if key is present and it is not locked by any clients and returns the object corresponding to the key. For objects stored in regions.

Namespace: Microsoft.ApplicationServer.Caching
Assembly: Microsoft.ApplicationServer.Caching.Client (in microsoft.applicationserver.caching.client.dll)

Dim instance As DataCache
Dim key As String
Dim timeout As TimeSpan
Dim lockHandle As DataCacheLockHandle
Dim region As String
Dim forceLock As Boolean
Dim returnValue As Object

returnValue = instance.GetAndLock(key, timeout, lockHandle, region, forceLock)

Public Function GetAndLock ( _
	key As String, _
	timeout As TimeSpan, _
	<OutAttribute> ByRef lockHandle As DataCacheLockHandle, _
	region As String, _
	forceLock As Boolean _
) As Object
public Object GetAndLock (
	String key, 
	TimeSpan timeout, 
	/** @attribute OutAttribute() */ /** @ref */ DataCacheLockHandle lockHandle, 
	String region, 
	boolean forceLock



The unique value that is used to identify the object in the region.


The amount of time that the object remains locked.


The DataCacheLockHandle object required to unlock the object. The lockHandle output parameter is passed by reference.


The name of the region where the object resides.


If forceLock is true, key is locked irrespective of key-value pair presence in cache.

Return Value

Returns Object matching the specified key parameter if the Object is present and is not locked.
  • If the key does not exist, a DataCacheException object is thrown with the ErrorCode set to KeyDoesNotExist. Create objects based on the referenced key to resolve this error.

  • If the object is already locked by another cache client, a DataCacheException object is thrown with the ErrorCode set to ObjectLocked. The object will be inaccessible until it is unlocked by the locking client.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Development Platforms

Visual Studio 2010 and later, .NET Framework 4

Target Platforms

Windows 7; Windows Server 2008 R2; Windows Server 2008 Service Pack 2; Windows Vista Service Pack 2 2011-08-26