Language

Cache.PutAndUnlock Method (String, String, Object, LockHandle, Tag )

[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]

Updates the locked object and then releases the lock. This method supports pessimistic concurrency by making sure that the appropriate LockHandle is used for unlocking the object. Additionally, this overload allows you to save your object to a region and update tags associated with the object.

Namespace: System.Data.Caching
Assembly: ClientLibrary (in clientlibrary.dll)

Syntax

'Declaration
Public Function PutAndUnlock ( _
    region As String, _
    key As String, _
    value As Object, _
    lockHandle As LockHandle, _
    tags As Tag() _
) As CacheItemVersion
'Usage
Dim instance As Cache
Dim region As String
Dim key As String
Dim value As Object
Dim lockHandle As LockHandle
Dim tags As Tag()
Dim returnValue As CacheItemVersion

returnValue = instance.PutAndUnlock(region, key, value, lockHandle, tags)
public CacheItemVersion PutAndUnlock (
    string region,
    string key,
    Object value,
    LockHandle lockHandle,
    Tag[] tags
)
public:
CacheItemVersion^ PutAndUnlock (
    String^ region, 
    String^ key, 
    Object^ value, 
    LockHandle lockHandle, 
    array<Tag^>^ tags
)
public CacheItemVersion PutAndUnlock (
    String region, 
    String key, 
    Object value, 
    LockHandle lockHandle, 
    Tag[] tags
)
public function PutAndUnlock (
    region : String, 
    key : String, 
    value : Object, 
    lockHandle : LockHandle, 
    tags : Tag[]
) : CacheItemVersion

Parameters

  • region
    The name of the region. Use DefaultRegion if the object is not stored in a region.
  • key
    The unique value that is used to identify the object in the region or cache. If this parameter is null, an exception is thrown.
  • value
    The object saved to the cache cluster.
  • lockHandle
    The LockHandle object that was received when locking the cached object.
  • tags
    An array of Tag objects to associate with the cached object inside the region. If the region name is not provided, all tags are ignored.

Return Value

A CacheItemVersion object that represents the version of the cached object after it has been updated by this method. If the lockHandle parameter is not equal to the LockHandle object obtained from the method that is used to lock the object, null is returned and the object is not updated.

Remarks

Tags may only be used to retrieve a cached object if that object is saved to a region. Until a region name is not provided, tags are ignored.

The lockHandle parameter is required and must match the LockHandle of the locked object to succeed. For more information about concurrency, see Concurrency Models (Velocity) and Concurrency Methods (Velocity).

Locked objects are never expired, but they may expire immediately if unlocked after their expiration time. For more information, see Expiration and Eviction (Velocity).

See Also

Reference

Cache Class
Cache Members
System.Data.Caching Namespace