次の方法で共有


Cache.Add メソッド

依存関係ポリシー、有効期限ポリシー、優先順位ポリシー、および挿入された項目が Cache から削除されたことをアプリケーションに通知するために使用するデリゲートが設定されている Cache オブジェクトに、指定された項目を追加します。

名前空間: System.Web.Caching
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
Public Function Add ( _
    key As String, _
    value As Object, _
    dependencies As CacheDependency, _
    absoluteExpiration As DateTime, _
    slidingExpiration As TimeSpan, _
    priority As CacheItemPriority, _
    onRemoveCallback As CacheItemRemovedCallback _
) As Object
'使用
Dim instance As Cache
Dim key As String
Dim value As Object
Dim dependencies As CacheDependency
Dim absoluteExpiration As DateTime
Dim slidingExpiration As TimeSpan
Dim priority As CacheItemPriority
Dim onRemoveCallback As CacheItemRemovedCallback
Dim returnValue As Object

returnValue = instance.Add(key, value, dependencies, absoluteExpiration, slidingExpiration, priority, onRemoveCallback)
public Object Add (
    string key,
    Object value,
    CacheDependency dependencies,
    DateTime absoluteExpiration,
    TimeSpan slidingExpiration,
    CacheItemPriority priority,
    CacheItemRemovedCallback onRemoveCallback
)
public:
Object^ Add (
    String^ key, 
    Object^ value, 
    CacheDependency^ dependencies, 
    DateTime absoluteExpiration, 
    TimeSpan slidingExpiration, 
    CacheItemPriority priority, 
    CacheItemRemovedCallback^ onRemoveCallback
)
public Object Add (
    String key, 
    Object value, 
    CacheDependency dependencies, 
    DateTime absoluteExpiration, 
    TimeSpan slidingExpiration, 
    CacheItemPriority priority, 
    CacheItemRemovedCallback onRemoveCallback
)
public function Add (
    key : String, 
    value : Object, 
    dependencies : CacheDependency, 
    absoluteExpiration : DateTime, 
    slidingExpiration : TimeSpan, 
    priority : CacheItemPriority, 
    onRemoveCallback : CacheItemRemovedCallback
) : Object
適用できません。

パラメータ

  • key
    項目の参照に使用されるキャッシュ キー。
  • value
    キャッシュに追加される項目。
  • dependencies
    項目のファイル依存関係またはキャッシュ キー依存関係。依存関係が変化すると、オブジェクトは無効になり、キャッシュから削除されます。依存関係がない場合は、このパラメータに null 参照 (Visual Basic では Nothing) が格納されます。
  • absoluteExpiration
    追加されたオブジェクトの有効期限が切れて、キャッシュから削除される時刻。スライド式有効期限を使用している場合は、absoluteExpiration パラメータは NoAbsoluteExpiration にする必要があります。
  • slidingExpiration
    追加されたオブジェクトに最後にアクセスしてからその有効期限が切れるまでの間隔。この値が 20 分に設定されている場合は、オブジェクトに最後にアクセスしてから 20 分が経過すると、有効期限が切れて、オブジェクトがキャッシュから削除されます。絶対有効期限を使用している場合は、slidingExpiration パラメータは NoSlidingExpiration にする必要があります。
  • priority
    CacheItemPriority 列挙体によって表現される、オブジェクトの相対コスト。キャッシュからオブジェクトを削除するときに、この値が使用されます。コストが低いオブジェクトは、コストが高いオブジェクトよりも先にキャッシュから削除されます。
  • onRemoveCallback
    オブジェクトがキャッシュから削除される場合に呼び出されるデリゲート (指定されている場合)。このデリゲートを使用して、オブジェクトがキャッシュから削除されたことをアプリケーションに通知できます。

戻り値

項目が既に Cache に格納されている場合は Object。それ以外の場合は null 参照 (Visual Basic では Nothing)。

例外

例外の種類 条件

ArgumentNullException

key パラメータまたは value パラメータは null 参照 (Visual Basic では Nothing) に設定されます。

ArgumentOutOfRangeException

slidingExpiration パラメータは TimeSpan.Zero 未満、または 2 年以上に設定されます。

ArgumentException

Cache に追加しようとした項目で、absoluteExpiration パラメータと slidingExpiration パラメータの両方が設定されます。

解説

同じ key パラメータを使用する項目が Cache に既に格納されている場合、このメソッドの呼び出しは失敗します。同じ key パラメータを使用して既存の Cache 項目を上書きするには、Insert メソッドを使用します。

absoluteExpiration パラメータと slidingExpiration パラメータの両方を設定することはできません。特定の時点でキャッシュ項目の有効期限が切れるようにする場合は、absoluteExpiration パラメータに目的の時刻を設定し、slidingExpiration パラメータは NoSlidingExpiration に設定します。

項目に最後にアクセスしてから一定の時間が経過した後でキャッシュ項目の有効期限が切れるようにする場合は、slidingExpiration パラメータに有効期限の間隔を設定し、absoluteExpiration パラメータは NoAbsoluteExpiration に設定します。

使用例

AddItemToCache メソッドを作成する例を次に示します。このメソッドは呼び出されると、itemRemoved プロパティを false に設定し、CacheItemRemovedCallback デリゲートの新しいインスタンスで onRemove メソッドを登録します。このデリゲートのシグネチャは RemovedCallback メソッドで使用されます。次に AddItemToCache メソッドは、キャッシュ内の Key1 キーに関連付けられている値を確認します。この値が null 参照 (Visual Basic では Nothing) の場合、Add メソッドは、Key1 のキー、Value 1 の値、60 秒の絶対有効期限、および優先順位の高いキャッシュを指定して、項目をキャッシュに追加します。また、onRemove メソッドを引数として使用します。これにより、この項目がキャッシュから削除されるときに RemovedCallback メソッドを呼び出すことができます。

メモメモ :

CacheDependency クラスおよび CacheItemRemovedCallback デリゲートの使用例については、「アプリケーション データのキャッシュ」を参照してください。

Public Sub AddItemToCache(sender As Object, e As EventArgs)
    itemRemoved = false

    onRemove = New CacheItemRemovedCallback(AddressOf Me.RemovedCallback)

    If (IsNothing(Cache("Key1"))) Then
      Cache.Add("Key1", "Value 1", Nothing, DateTime.Now.AddSeconds(60), TimeSpan.Zero, CacheItemPriority.High, onRemove)
    End If
End Sub
public void AddItemToCache(Object sender, EventArgs e) {
    itemRemoved = false;

    onRemove = new CacheItemRemovedCallback(this.RemovedCallback);

    if (Cache["Key1"] == null)
      Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(60), TimeSpan.Zero, CacheItemPriority.High, onRemove);
}
public function AddItemToCache(sender : Object, e : EventArgs) {
    itemRemoved = false;

    onRemove = this.RemovedCallback;

    if (Cache["Key1"] == null)
      Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(10), TimeSpan.Zero, CacheItemPriority.High, onRemove);
}

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

Cache クラス
Cache メンバ
System.Web.Caching 名前空間
CacheDependency
CacheItemPriority
CacheItemRemovedCallback

その他の技術情報

アプリケーション データのキャッシュ