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)。
例外
例外の種類 | 条件 |
---|---|
key パラメータまたは value パラメータは null 参照 (Visual Basic では Nothing) に設定されます。 |
|
slidingExpiration パラメータは TimeSpan.Zero 未満、または 2 年以上に設定されます。 |
|
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