TimeZoneInfo.ClearCachedData Methode

Definitie

Wist de tijdzonegegevens in de cache.

public:
 static void ClearCachedData();
public static void ClearCachedData();
static member ClearCachedData : unit -> unit
Public Shared Sub ClearCachedData ()

Opmerkingen

Tijdzonegegevens in de cache bevatten gegevens in de lokale tijdzone en de UTC-zone (Coordinated Universal Time).

U kunt de ClearCachedData methode aanroepen om het geheugen dat is besteed aan de cache van tijdzonegegevens van de toepassing te verminderen of om het feit weer te geven dat de tijdzone van het lokale systeem is gewijzigd.

Het opslaan van verwijzingen naar de lokale en UTC-tijdzones wordt niet aanbevolen. Na de aanroep van de ClearCachedData methode zijn deze objectvariabelen niet-gedefinieerde TimeZoneInfo objecten die niet meer verwijzen naar TimeZoneInfo.Local of TimeZoneInfo.Utc. In de volgende code genereert de tweede aanroep van de TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) methode bijvoorbeeld een ArgumentException omdat de local variabele niet meer als gelijk aan TimeZoneInfo.Localwordt beschouwd.

TimeZoneInfo cst = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
TimeZoneInfo local = TimeZoneInfo.Local;
Console.WriteLine(TimeZoneInfo.ConvertTime(DateTime.Now, local, cst));

TimeZoneInfo.ClearCachedData();
try
{
   Console.WriteLine(TimeZoneInfo.ConvertTime(DateTime.Now, local, cst));
}
catch (ArgumentException e)
{
   Console.WriteLine(e.GetType().Name + "\n   " + e.Message);
}
open System

let cst = TimeZoneInfo.FindSystemTimeZoneById "Central Standard Time"
let local = TimeZoneInfo.Local
printfn $"{TimeZoneInfo.ConvertTime(DateTime.Now, local, cst)}"

TimeZoneInfo.ClearCachedData()
try
   printfn $"{TimeZoneInfo.ConvertTime(DateTime.Now, local, cst)}"
with :? ArgumentException as e ->
   printfn $"{e.GetType().Name}\n   {e.Message}"
Dim cst As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time")
Dim local As TimeZoneInfo = TimeZoneInfo.Local
Console.WriteLine(TimeZoneInfo.ConvertTime(Date.Now, local, cst))

TimeZoneInfo.ClearCachedData()
Try
   Console.WriteLine(TimeZoneInfo.ConvertTime(Date.Now, local, cst))
Catch e As ArgumentException
   Console.WriteLine(e.GetType().Name & vbCrLf & "   " & e.Message)
End Try

Van toepassing op