Azure Lei Zhang的博客

weibo: LeiZhang的微博/QQ: 185165016/QQ群:319036205/邮箱:leizhang1984@outlook.com/TeL:139-161-22926

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  390 随笔 :: 0 文章 :: 394 评论 :: 0 引用

  《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北京时间

 

 

   参考资料: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)等相关水印版权信息,否则视为侵犯原创版权行为;本博谢绝商业网站转载。版权所有,禁止一切有违中华人民共和国著作权保护法及相关法律和本博(法律)声明的非法及恶意抄袭。

posted on 2015-09-30 11:03 Lei Zhang的博客 阅读(...) 评论(...) 编辑 收藏