TimeZoneInfo.ClearCachedData Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Cancella i dati del fuso orario memorizzati nella cache.
public:
static void ClearCachedData();
public static void ClearCachedData ();
static member ClearCachedData : unit -> unit
Public Shared Sub ClearCachedData ()
Commenti
I dati del fuso orario memorizzati nella cache includono i dati relativi al fuso orario locale e al fuso UTC (Coordinated Universal Time).
È possibile chiamare il ClearCachedData
metodo per ridurre la memoria dedicata alla cache delle informazioni sul fuso orario dell'applicazione o per riflettere il fatto che il fuso orario del sistema locale è cambiato.
Non è consigliabile archiviare i riferimenti ai fusi orari locali e UTC. Dopo la chiamata al ClearCachedData
metodo , queste variabili oggetto saranno oggetti non definiti TimeZoneInfo che non fanno più riferimento a TimeZoneInfo.Local o TimeZoneInfo.Utc. Nel codice seguente, ad esempio, la seconda chiamata al TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) metodo genera un'eccezione ArgumentException perché la local
variabile non è più considerata uguale a TimeZoneInfo.Local.
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