DataCache.GetAndLock メソッド (String, TimeSpan, out DataCacheLockHandle, String)

キーが存在し、ロックされていない場合、キーをロックし、キーに対応するオブジェクトを返します。 リージョンに格納されているオブジェクトが対象です。

名前空間: Microsoft.ApplicationServer.Caching
アセンブリ: Microsoft.ApplicationServer.Caching.Client (microsoft.applicationserver.caching.client.dll)

使用法

構文

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

パラメーター

  • key
    リージョン内のオブジェクトを識別するために使用される一意の値です。
  • timeout
    オブジェクトがロックされたままにする時間の長さです。
  • lockHandle
    オブジェクトのロックを解除するために必要な DataCacheLockHandle オブジェクトです。 lockHandle 出力パラメーターは参照により渡されます。
  • region
    オブジェクトが存在するリージョンの名前です。

戻り値

Object が存在し、ロックされていない場合、指定した key パラメーターに一致する Object を返します。

  • キーが存在しない場合、ErrorCodeKeyDoesNotExist に設定された状態で DataCacheException オブジェクトがスローされます。 参照されているキーに基づいてオブジェクトを作成し、このエラーを解決します。

  • オブジェクトが既に別のキャッシュ クライアントによりロックされている場合、ErrorCodeObjectLocked に設定された状態で DataCacheException オブジェクトがスローされます。 ロックしているクライアントによりロックが解除されるまで、オブジェクトにはアクセスできなくなります。

解説

ロックが有効である限り、同じオブジェクトに対するその他の GetAndLock メソッド呼び出しは失敗します。 通常の Get メソッド呼び出しは、ブロックされず、常にキャッシュされたオブジェクトの最新バージョンにアクセスします。 同時実行の詳細については、「同時実行モデル」および「同時実行メソッド」を参照してください。

スレッド セーフ

この型のパブリック静的 (Visual Basic では Shared ) メンバーはスレッド セーフです。インスタンスのメンバーはいずれも、スレッド セーフである保証はありません。

プラットフォーム

開発プラットフォーム

Visual Studio 2010 およびそれ以降, .NET Framework 4

対象プラットフォーム

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

関連項目

参照

DataCache クラス
DataCache メンバー
Microsoft.ApplicationServer.Caching 名前空間