VirtualPathProvider.GetCacheDependency(String, IEnumerable, DateTime) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した仮想パスに基づいてキャッシュの依存関係を作成します。
public:
virtual System::Web::Caching::CacheDependency ^ GetCacheDependency(System::String ^ virtualPath, System::Collections::IEnumerable ^ virtualPathDependencies, DateTime utcStart);
public virtual System.Web.Caching.CacheDependency GetCacheDependency (string virtualPath, System.Collections.IEnumerable virtualPathDependencies, DateTime utcStart);
abstract member GetCacheDependency : string * System.Collections.IEnumerable * DateTime -> System.Web.Caching.CacheDependency
override this.GetCacheDependency : string * System.Collections.IEnumerable * DateTime -> System.Web.Caching.CacheDependency
Public Overridable Function GetCacheDependency (virtualPath As String, virtualPathDependencies As IEnumerable, utcStart As DateTime) As CacheDependency
パラメーター
- virtualPath
- String
プライマリ想リソースへのパス。
- virtualPathDependencies
- IEnumerable
プライマリ仮想リソースで必要な他のリソースへのパスの配列。
- utcStart
- DateTime
仮想リソースが読み取られた UTC 時刻。
戻り値
指定した仮想リソースの CacheDependency オブジェクト。
例
次のコード例では、カスタム VirtualPathProvider クラスのGetCacheDependencyメソッドを実装します。 この例を実行するために必要な完全なコードについては、クラス概要トピックの「例」セクションを VirtualPathProvider 参照してください。
public override CacheDependency GetCacheDependency(
string virtualPath,
System.Collections.IEnumerable virtualPathDependencies,
DateTime utcStart)
{
if (IsPathVirtual(virtualPath))
{
System.Collections.Specialized.StringCollection fullPathDependencies = null;
// Get the full path to all dependencies.
foreach (string virtualDependency in virtualPathDependencies)
{
if (fullPathDependencies == null)
fullPathDependencies = new System.Collections.Specialized.StringCollection();
fullPathDependencies.Add(virtualDependency);
}
if (fullPathDependencies == null)
return null;
// Copy the list of full-path dependencies into an array.
string[] fullPathDependenciesArray = new string[fullPathDependencies.Count];
fullPathDependencies.CopyTo(fullPathDependenciesArray, 0);
// Copy the virtual path into an array.
string[] virtualPathArray = new string[1];
virtualPathArray[0] = virtualPath;
return new CacheDependency(virtualPathArray, fullPathDependenciesArray, utcStart);
}
else
{
return Previous.GetCacheDependency(virtualPath, virtualPathDependencies, utcStart);
}
}
Public Overrides Function GetCacheDependency(ByVal virtualPath As String, ByVal virtualPathDependencies As IEnumerable, ByVal utcStart As Date) As CacheDependency
If (IsPathVirtual(virtualPath)) Then
Dim fullPathDependencies As System.Collections.Specialized.StringCollection
fullPathDependencies = Nothing
' Get the full path to all dependencies.
For Each virtualDependency As String In virtualPathDependencies
If fullPathDependencies Is Nothing Then
fullPathDependencies = New System.Collections.Specialized.StringCollection
End If
fullPathDependencies.Add(virtualDependency)
Next
If fullPathDependencies Is Nothing Then
Return Nothing
End If
Dim fullPathDependenciesArray As String()
fullPathDependencies.CopyTo(fullPathDependenciesArray, 0)
Return New CacheDependency(fullPathDependenciesArray, utcStart)
Else
Return Previous.GetCacheDependency(virtualPath, virtualPathDependencies, utcStart)
End If
End Function
注釈
メソッドの既定の実装が GetCacheDependency 返されます null
。 後で使用するために仮想リソースをキャッシュするには、メソッドまたはメソッドのいずれかを GetCacheDependency オーバーライドする GetFileHash 必要があります。