ControlCachePolicy.SetExpires(DateTime) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ユーザー コントロールをラップする BasePartialCachingControl コントロールに対して、指定された日時にキャッシュ エントリの有効期限が切れるように指示します。
public:
void SetExpires(DateTime expirationTime);
public void SetExpires (DateTime expirationTime);
member this.SetExpires : DateTime -> unit
Public Sub SetExpires (expirationTime As DateTime)
パラメーター
例外
ユーザー コントロールは、BasePartialCachingControl に関連付けられておらず、キャッシュに保存することはできません。
例
次のコード例は、実行時にユーザー コントロールを動的に読み込み、プログラムで操作する方法を示しています。 属性は PartialCachingAttribute 、ユーザー コントロールが実行時にコントロールによってラップされていることを意味する、という名前 SimpleControl
の PartialCachingControl ユーザー コントロールに適用されます。 オブジェクトのキャッシュ設定は SimpleControl
、関連付けられている ControlCachePolicy オブジェクトを使用してプログラムで操作できます。これは、オブジェクトをラップするコントロールへの参照を PartialCachingControl 通じて使用できます。 この例では、 Duration プロパティはページの初期化中に調べられ、一部の条件が満たされた場合は and SetSlidingExpiration SetExpires メソッドを使用して変更されます。 この例は、クラスに対して提供されるより大きな例の ControlCachePolicy 一部です。
<%@ Page Language="C#" %>
<%@ Reference Control="SimpleControl.ascx" %>
<script language="C#" runat="server">
// The following example demonstrates how to load a user control dynamically at run time, and
// work with the ControlCachePolicy object associated with it.
// Loads and displays a UserControl defined in a seperate Logonform.ascx file.
// You need to have "SimpleControl.ascx" file in
// the same directory as the aspx file.
void Page_Init(object sender, System.EventArgs e) {
// Obtain a PartialCachingControl object which wraps the 'LogOnControl' user control.
PartialCachingControl pcc = LoadControl("SimpleControl.ascx") as PartialCachingControl;
// If the control is slated to expire in greater than 60 Seconds
if (pcc.CachePolicy.Duration > TimeSpan.FromSeconds(60) )
{
// Make it expire faster. Set a new expiration time to 30 seconds, and make it
// an absolute expiration if it isnt already.
pcc.CachePolicy.SetExpires(DateTime.Now.Add(TimeSpan.FromSeconds(30)));
pcc.CachePolicy.SetSlidingExpiration(false);
}
Controls.Add(pcc);
}
</script>
<%@ Page Language="VB" %>
<%@ Reference Control="SimpleControl.ascx" %>
<script language="VB" runat="server">
' The following example demonstrates how to load a user control dynamically at run time, and
' work with the ControlCachePolicy object associated with it.
' Loads and displays a UserControl defined in a seperate Logonform.ascx file.
' You need to have "SimpleControl.ascx" file in
' the same directory as the aspx file.
Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs)
' Obtain a PartialCachingControl object which wraps the 'LogOnControl' user control.
Dim pcc As PartialCachingControl
pcc = LoadControl("SimpleControl.ascx")
' If the control is slated to expire in greater than 60 Seconds
If (pcc.CachePolicy.Duration > TimeSpan.FromSeconds(60)) Then
' Make it expire faster. Set a new expiration time to 30 seconds, and make it
' an absolute expiration if it isnt already.
pcc.CachePolicy.SetExpires(DateTime.Now.Add(TimeSpan.FromSeconds(30)))
pcc.CachePolicy.SetSlidingExpiration(False)
End If
Controls.Add(pcc)
End Sub
</script>
注釈
メソッド (渡しSetSlidingExpirationtrue
) をSetExpires使用して、絶対有効期限ポリシーではなくスライディング有効期限キャッシュ ポリシーを使用するようにユーザー コントロールをラップするコントロールに指示BasePartialCachingControlします。 SetExpiresメソッドとメソッド (渡しfalse
) をSetSlidingExpiration使用して、絶対有効期限ポリシーを指定します。