Comment créer une CacheDependency sur plusieurs fichiers
Petite astuce rapide que je viens de découvrir et qui est peu documentée sur le net, la possibilité d’ajouter une variable dans la cache avec une dépendance sur plusieurs fichiers.
Public Shared Function GetListOfFilesFromAPath(ByVal path As String) As List(Of String) Dim result As New List(Of String) Dim directory As New DirectoryInfo(path) If directory.Exists Then Dim obj As Object = HttpContext.Current.Cache("GetListOfFilesFromAPath" + path) If obj Is Nothing Then Dim dependencies As New AggregateCacheDependency For Each file As FileInfo In directory.GetFiles() result.Add(file.FullName) dependencies.Add(New CacheDependency(file.FullName)) Next HttpContext.Current.Cache.Insert("GetListOfFilesFromAPath" + path, result, dependencies) Else result = CType(obj, List(Of String)) End If End If Return result End Function |
Plus d’information sur AggregateCacheDependency sur le site de la MSDN.
