Azure移动服务的.NET后端环境搭建

根据MSDN文档,MicrosoftAzure移动服务是一个旨在简化使用Azure创建功能强大的移动应用的服务。它整合了一系列Azure服务,为应用提供了后端能力。Azure移动服务为应用提供了以下后端功能:

  • 支持在多种设备上开发移动应用的客户端库,包括Windows 8、Windows Phone 8、iPhone和iPad。
  • 简单配置和管理表格以存储应用数据。
  • 与通知服务集成,向应用发送推送通知。
  • 与知名身份提供商集成进行身份验证。
  • 精确控制对表格的访问授权。
  • 支持脚本,将业务逻辑注入到数据访问操作中。
  • 与其他云服务集成。
  • 支持扩展移动服务实例的能力。
  • 服务监控和日志记录。

通过这种方式,Azure移动服务将增加移动应用的开发效率,并且它支持主要的移动平台是一个优势。

在某些情况下,当为应用提供新特性时,可能需要不同的环境,因为每个版本都可能改变或破坏Azure移动服务的后端版本,因此测试并保持生产运行是很重要的。Azure移动服务允许在本地主机上测试服务,但不提供创建不同环境的方法。为了创建不同环境,需要为每个环境创建一个Azure移动服务,然后为每个环境创建配置。

创建Azure移动服务

在Azure门户中,创建两个.NET后端的Azure移动服务,分别命名为:

  • 开发环境:MyAMSDev - Azure移动服务名称
  • MyAMSDev_db - 数据库名称
  • 生产环境:MyAMSProd - Azure移动服务名称
  • MyAMSProd_db - 数据库名称

在Azure门户中,结果将是:

可以使用相同的数据库,但需要使用不同的架构。如果提供了不同的数据库,更容易管理每个环境(更新或甚至删除)。使用Entity Framework迁移的后端将从头开始重新创建服务,并且可以随时删除、部署和重新创建。

创建转换文件

在Visual Studio中,选择解决方案并打开上下文菜单,然后点击配置管理器,然后创建新配置。在这种情况下,基于Debug配置定义了Dev配置,而Prod配置应使用Release配置。

此时,可以定义Debug、Dev、Prod和Release配置。对于每个配置,可以定义条件编译。例如,在Dev中可以有:

#if Dev // 例如,可以填充数据库的假数据 #else // 在其他非Dev环境中 #endif

要利用这些配置的优势,请使用Web.Config添加配置转换,如下所示:

结果将是:

现在可以:

  • 在Web.Config中设置连接字符串,用于本地数据库,由localhost使用。
  • 在Web.Dev.Config中设置连接字符串,用于MyAMSDev_db数据库,由Dev环境使用(甚至localhost!)。
  • 在Web.Prod.Config中设置连接字符串,用于MyAMSProd_db数据库,由Prod环境使用。

每次部署时,将使用相应的配置。

发布服务到Azure

选择项目并使用上下文菜单点击发布,然后使用Azure帐户连接到Azure移动服务,并选择MyAMSDev。在设置中,设置配置和文件发布选项,然后发布。

对Prod执行相同的过程,然后发布。可以看到Web发布活动显示发布过程。

此时,两个环境都已部署并运行,不需要定义或更改每个环境,只需要确保在部署前设置好每个环境。

注意事项

在这种情况下,使用了MS_TableConnectionString1名称来定义连接字符串,Azure门户中定义的默认值MS_TableConnectionString将被忽略。

开发者可以设置不同的连接字符串,甚至更改名称,但需要在所有环境中使用相同的名称。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485