TimeZoneInfo和CultureInfo的System.DateTime和Caching

TimeZoneInfo和CultureInfo的System.DateTime和Caching,第1张

概述TimeZoneInfo和CultureInfo的System.DateTime和Caching

我有两个独立的.NET应用程序,一个服务器和另一个WinForms。 WinForms应用程序有一个时钟运行显示从DateTime.Now当前时间。 服务器应用程序可以更改方框的时区。 我需要通知WinForms应用程序TimeZone已更改,以便时钟控件可以清除它的caching并显示正确的时间。 我可以发送消息,但我正在寻找一个标准的方式如何在windows中完成。 什么是最好的方法? 在WndProc中注册消息并观察它吗?

从windows服务安全地存储数据的位置?

GetSystemTimeZones缺lessGMT标准时间

如何使用webkit浏览器引擎build立一个网页浏览器

WMI,负cpu使用率值和过去的Timestamp_Sys100NS

AsyncIO.ForceDotNet.Force()导致windows XP上的内存泄漏

好的,所以我要回答我自己的问题,因为它是专门针对系统事件的,而以前的答案给出了一个很好但通用的解决方案。 基本上,我发现有一个Microsoft.Win32.SystemEvents类有一个TimeChanged事件。 你在你的应用程序中所做的只是做如下的事情:

SystemEvents.TimeChanged += (s,e) => { CultureInfo.CurrentCulture.ClearCachedData(); TimeZoneInfo.ClearCachedData(); };

这将使DateTime的缓存失效,下次您轮询时间时,您的DateTime.Now结构中将有正确的时间。

既然它们都是.NET应用程序,我推荐使用windows Communication Foundation等通信技术来实现应用程序之间的通信。

您的服务器将设置一个ServiceHost ,您的WinForms应用程序将具有您设置的服务的代理。

你会想设计你的服务,以便你的客户端可以传递一个回调,以便当服务器上的时区变化时,它可以通知客户端。

总结

以上是内存溢出为你收集整理的TimeZoneInfo和CultureInfo的System.DateTime和Caching全部内容,希望文章能够帮你解决TimeZoneInfo和CultureInfo的System.DateTime和Caching所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1285210.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存