《Windows Azure Platform 系列文章目录》
本文介绍内容适合于Azure Global和Azure China
我们在使用Cloud Service的时候,会发现默认的Cloud Service是UTC时区。
在很多时候,我们的应用程序使用的时区是UTC+8时区,也就是北京时间。
遇到这样的问题,我们传统的做法是修改aspx.cs代码,把UTC时区修改为UTC+8时区。
但是这样做费时费力,有没有更好的解决方法呢?
其实,我们可以在Azure Startup Task中,执行CMD命令,修改系统当前的时区。
在开始本章内容之前,请读者参考笔者之前的文档:
Windows Azure Cloud Service (24) 使用Startup注册COM组件(上)
Windows Azure Cloud Service (25) 使用Startup注册COM组件(下)
可以对Azure Startup Task有一个基本的认识。
我们本章内容需要使用到的工具有:
1.Azure Visual Studio 2013 Update4
2.安装Azure SDK
3.Azure China账户
接下来开始本章的内容。
1.首先我们以管理员身份,运行Visual Studio 2013。
2.创建一个新的Cloud Project,命名为LeiCloudServiceTimeZone,并添加Web Role。图略
3.在Project的根目录下,创建一个新的文件,重命名为changetimezone.cmd
4.在Cloud Project里,点击changetimezone.cmd,选择右键属性,Copy to Output Directory选择Copy always
5.在changetimezone.cmd,设置如下逻辑:
tzutil /s "China Standard Time"
6.修改ServiceDefinition.csdef,修改Startup节点,让Cloud Service项目启动的时候,执行changetimezone.cmd命令。如下图:
7.最后我们在aspx页面中,输出当前的系统时间:
Label1.Text = DateTime.Now.ToString();
8.最后我们部署Cloud Service,显示如下:
可以看到部署的当前时间,就是UTC+8北京时间
本博-三石Blog(下文简称本博),在本博客文章结尾处右下脚未注明转载、来源、出处的作品(内容)均为本博原创,本站对于原创作品内容对其保留版权,请勿随意转载,如若真有需要的朋友可以发Mail联系我;转载本博原创作品(内容)也必须遵循“署名-非商业用途-保持一致”的创作共用协议,请务必以文字链接的形式标明或保留文章原始出处和博客作者(Lei Zhang)的信息,关于本博摄影作品请务必注意保留(www.cnblog.com/threestone)等相关水印版权信息,否则视为侵犯原创版权行为;本博谢绝商业网站转载。版权所有,禁止一切有违中华人民共和国著作权保护法及相关法律和本博(法律)声明的非法及恶意抄袭。