November, 2013

  • 在Windows Azure Mobile Service中下载的Windows Store C#程序模板已升级到VS2013,如何继续用VS2012开发

    目前,在使用Windows Azure Mobile Service时发现,开发者下载的Windows Store C#程序模板,已经升级到VS2013以上。

    clip_image001

    打开项目文件,可以看到相关标识:

    <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <MinimumVisualStudioVersion>12</MinimumVisualStudioVersion>

    <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '12.0' ">

    <VisualStudioVersion>12.0</VisualStudioVersion>

    </PropertyGroup>

    问题是,当使用VS2012时,无法打开项目文件。

    解决办法是:访问下面的网址:

    Get Started with Data in Windows Azure Mobile Services Tutorial Sample

    http://code.msdn.microsoft.com/Get-Started-with-Data-in-8c9239e6

    但需要注意的是,这个程序模板的一些代码已经被注释掉,需要细心地选择,才能继续进行Windows Azure Mobile Service开发。

  • 使用Windows Azure Mobile Service的日志(LOG)进行移动服务的监控和诊断

    在Windows Azure移动服务(Mobile Service)中,除了管理门户所提供的仪表板等服务来监控移动服务的运行状况外,还提供了日志(LOG),可以更好地对移动服务进行监控,并且可以在需要的时候,对一些异常情况进行诊断。在移动服务中,经常会使用服务端的脚本(Server scripts),对于这些脚本的调试来说,日志提供了一个非常重要的支持。此外,在移动服务中,一个非常重要的功能便是与提醒服务(Notification Service)的集成,例如针对Windows商店应用(Store Apps)的Windows 推送提醒服务 (WNS)、针对Windows Phone的Microsoft 推送提醒服务 (MPNS)、针对iOS应用的Apple 推送提醒服务 (APNS)、针对Android应用的云端到设备的消息传递 (C2DM)等,可以通过日志来监控消息提醒的推送状况。

    具体操作方式如下,在移动服务的管理门户中,点击“日志(LOG)”功能,将列出所有的日志信息。在屏幕的底端,可以点击“详细信息”,具体查看某个日志的详细信息。

    clip_image001

    在Windows Azure移动服务中,对于每个自定义API的调用(Call),都会在日志中产生一个条目,如下面所示:

    clip_image002

    在Windows Azure移动服务中,对于每个消息的推送(PUSH),都会在日志中产生一个条目,如下面所示。在条目中,可以发现状态码(StatusCode)为200,标识这个推送已成功完成。此外,还可以看到这个推送所通过的通道(Channel),可以对移动端提供的用于callback的通道进行追踪。

    clip_image003

    在具体部署一个Windows Azure移动服务的时候,我遇到一个情况,发现移动设备端并没有按照预期接收到消息提醒。检查服务端脚本,应该没有什么程序错误。后来,在日志中找到了相关日志,如下图所示。

    在条目中,可以发现状态码(StatusCode)为410,标识这个推送没有完成。而错误信息显示,这个推送所通过的通道(Channel)已经失效。

    clip_image004

    此外,在条目中,还可以追踪服务端脚本等程序错误,例如下面所展示的异常,及发生异常的具体位置等信息。

    clip_image005

  • 支撑超百万级设备互��的Windows Azure 通知中心(Notification Hub)

    “双11”的网上购物狂欢在本周一如期上演,根据统计数据,这一天的消费创造了新的记录。而根据媒体报道(“双11”揭示互联网金融趋势),“在“双11”成交的350.19亿中,有53.5亿来自手机淘宝,是去年的5.6倍(9.6亿);手机淘宝单日成交笔数达3590万笔,占整体的21%;支付宝实现手机支付笔数4518万笔,占整体的24.03%;支付宝手机支付额突破113亿,是目前全球移动支付的最高纪录。相比之下,去年手机淘宝交易笔数只占整体的5%,移动电商正在疯狂崛起。”正如报道中所提到的,越来越多的消费及支付行为在移动设备端发生,消费者将体验到“任何时间、任何地点、多样设备”的消费体验。而从商家、从服务运营的角度,将面临的是如何能够支持如此海量设备互联、业务处理的挑战。

    微软Windows Azure云服务是支持”设备+服务“策略的关键性支撑技术。可以参加相关报道:管理云服务与互联设备 微软新解决方案推进云操作系统实践。而已经由预览(Preview)转为正式功能的通知中心(Notification Hub),则是能够支撑超百万级设备互联的利器。

    创建通知中心的过程非常简单、便捷。如下图所示,在新建“应用服务”中,选择服务总线“Service Bus”,然后可以看到“消息中心”。

    clip_image001

    选择“快速创建”,定义“通知中心名称”,选择“命名空间”,如下图:

    clip_image002

    在管理门户中,可以看到定义的消息中心已经建立完成,可以供自己定制、使用了。

    消息中心提供了不同规模的支持,其中,默认的”免费“容量设置,可以支持5,000个注册设备,其中可以支撑最多500个活动设备,如下图:

    clip_image003

    可以选择支撑更多的设备,在服务中心的选择”配置”,选择”标准”的通知中心层类型,并将“保留单位”、“最大单位数”调整到最大:

    clip_image004

    可以看到,通知中心可以支撑的设备规模得到极大提升,其中:可以支持5,000,000个注册设备,其中可以支撑最多50,000,000个活动设备,达到百万级别以上的设备支撑目标:

    clip_image005

    在通知中心中,可以支持对Windows 推送提醒服务 (WNS)、Microsoft 推送提醒服务 (MPNS)、Apple 推送提醒服务 (APNS)、Google Cloud Messaging (GCM)等提醒服务:

    clip_image006

    clip_image007

    而且可以通过“监视器”来监控消息中心的运行情况,及关键指标,例如APNS错误、WNS错误、注册操作等:

    clip_image008

    此外,可以查看各消息提醒服务的关键指标,如下面的WNS要监视的度量值:

    clip_image009