Windows Azure Cloud Service (47) 修改Cloud Service时区

 《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

  Windows Azure Cloud Service (47) 修改Cloud Service时区

  5.在changetimezone.cmd,设置如下逻辑:

 tzutil /s "China Standard Time" 

 

  6.修改ServiceDefinition.csdef,修改Startup节点,让Cloud Service项目启动的时候,执行changetimezone.cmd命令。如下图:

  Windows Azure Cloud Service (47) 修改Cloud Service时区

 

  7.最后我们在aspx页面中,输出当前的系统时间:

Label1.Text = DateTime.Now.ToString();

 

  8.最后我们部署Cloud Service,显示如下:

  Windows Azure Cloud Service (47) 修改Cloud Service时区

  可以看到部署的当前时间,就是UTC+8北京时间

 

 

   参考资料:http://social.technet.microsoft.com/wiki/contents/articles/29554.change-time-zone-of-azure-role-instances-vm-s.aspx

 

 

  本博-三石Blog(下文简称本博),在本博客文章结尾处右下脚未注明转载、来源、出处的作品(内容)均为本博原创,本站对于原创作品内容对其保留版权,请勿随意转载,如若真有需要的朋友可以发Mail联系我;转载本博原创作品(内容)也必须遵循“署名-非商业用途-保持一致”的创作共用协议,请务必以文字链接的形式标明或保留文章原始出处和博客作者(Lei Zhang)的信息,关于本博摄影作品请务必注意保留(www.cnblog.com/threestone)等相关水印版权信息,否则视为侵犯原创版权行为;本博谢绝商业网站转载。版权所有,禁止一切有违*著作权保护法及相关法律和本博(法律)声明的非法及恶意抄袭。


本文转自Lei Zhang博客园博客,原文链接:http://www.cnblogs.com/threestone/p/4845520.html,如需转载请自行联系原作者