使用 Windows Azure 移动服务将云添加到您的应用
出色的 Windows 应用商店应用现已可连接。它们使用动态磁贴、通过单一登录验证用户并且可在设备和用户之间共享数据。要获得连接带来的所有这些显著优势,您的应用需要使用云服务。
构建云服务并不轻松。大多数云平台均提供了通用的功能来存储数据和执行代码,但您必须编写大量的基础结构代码来将这些功能整合在一起。我想您肯定已做好了迎接这项挑战的准备,但我可以保证后端基础结构代码并不是您的首选。您需要专注于实现您的杰出应用程序理念。
为了解决这一难题,我们在本周早些时候宣布了 Windows Azure 中最新服务的预览版:移动服务。现在,我将向您展示一下如何使用移动服务在几分钟内将您需要的云服务添加到您的应用中。
首先,请注册 Windows Azure 免费试用。您将可以免费使用 10 次移动服务。让我们使用其中的一次服务来构建简单的任务列表应用。
新建移动服务。
在您注册之后,请转到 https://manage.windowsazure.com,并使用您的 Microsoft 帐户登录。通过单击导航栏底部的 +NEW 按钮来新建移动服务。
选择“移动服务”并单击“创建”。将显示下面的屏幕:
图 1. 在管理门户中创建抽屉。
在新建移动服务向导中,键入您的应用的名称。该名称将成为您的新服务的 URL 的组成部分。
图 2. 创建移动服务向导,第一个屏幕。
当您创建 Windows Azure 移动服务时,我们将自动将其与 Windows Azure 中的 SQL 数据库相关联。然后,Windows Azure 移动服务后端将提供内置的支持来允许远程应用进行安全存储并从中检索数据,而您无需编写或部署任何自定义服务器代码。键入新数据库的名称,然后输入您的新 SQL Server 的登录名和密码。如果您要将该数据库服务器重用于其他移动服务,请牢记这些凭据。如果您已注册 90 天的免费试用,则可以免费使用一个 1GB 的数据库。
图 3. 创建移动服务向导,第二个屏幕。
请单击勾选按钮来完成这一过程。只需几秒钟,您便可以获得移动服务,即您可以用来存储数据、发送推送通知和验证用户的后端。让我们在应用中试用一下该服务。
新建 Windows 应用商店应用
单击您新创建的移动服务的名称。
图 4. 您新创建的移动服务。
现在,您有两种选择:创建新的应用或将现有应用连接到您的移动服务。我们选择第一种选择并创建在您的 SQL 数据库中存储任务项目的简单任务列表。请完成以下屏幕中的步骤:
图 5. 创建移动服务应用。
安装 Visual Studio 2012 和移动服务 SDK(若未安装)。
要存储任务项目,您需要创建一个表。您无需预定义该表的架构;移动服务将根据需要自动添加列来存储您的数据。
接下来,选择您最喜爱的语言:C# 或 JavaScript,然后单击“下载”。该操作将下载已预配置为连接您的新建移动服务的个性化项目。将压缩项目文件保存到您的本地计算机。
浏览到保存压缩项目文件的位置,在您的计算机上展开文件,并在面向 Windows 8 的 Visual Studio 2012 Express 中打开解决方案。
按 F5 启动应用。
在应用中,在左侧的文本框中键入任务项目,然后单击“保存”。这样,可以将 HTTP 请求发送至 Windows Azure 中托管的移动服务。然后,该数据将存储在您的 TodoItem 表中。您将收到来自移动服务的确认,并且您的数据将显示在右侧的列表中。
图 6. 已完成应用。
我们来看一下该应用中的代码并保存您的数据。停止任务列表应用并双击 App.xaml.cs。请注意下面几行代码:
public static MobileServiceClient MobileService = new MobileServiceClient( "https://todolist.azure-mobile.net/", "xPwJLJqYTMsAiBsHBHDhDEamZdtUGw75" );
这是您将应用连接到您的移动服务所需的唯一代码。如果您要将现有应用连接至您的移动服务,您可以从快速入门的“连接您的现有应用”选项中复制该代码。现在,打开 MainPage.xaml.cs 并查看将数据插入到移动服务的以下代码:
private IMobileServiceTable<TodoItem> todoTable = App.MobileService.GetTable<TodoItem>(); private async void InsertTodoItem(TodoItem todoItem) { await todoTable.InsertAsync(todoItem); items.Add(todoItem); }
这是在您的云后端存储数据所需的全部代码。以下是等效的 JavaScript 代码:
var client = new Microsoft.WindowsAzure.MobileServices.MobileServiceClient( "https://todolist.azure-mobile.net/", "xPwJLJqYTMsAiBsHBHDhDEamZdtUGw75" ); var todoTable = client.getTable('TodoItem'); var insertTodoItem = function (todoItem) { todoTable.insert(todoItem).done(function (item) { todoItems.push(item); }); };
管理并监控您的移动服务。
返回至 Windows Azure 管理门户,单击“仪表板”选项卡以查看您新建移动服务的实时监控和使用信息。
图 7. 移动服务仪表板。
单击“数据”选项卡,然后单击 TodoItems 表。
图 8. “数据”选项卡。
您可以在此处浏览应用插入到此表中的数据。
图 9. 浏览数据。
总结
在本概述中,我们了解到将 Windows Azure 的功能添加到您的应用是多么的轻松,而这也避免了编写代码、管理和部署复杂的后端项目所带来的困扰。就移动服务的功能而言,我们只是谈到了一些表面的东西。这仅仅是拉开了一些其他功能的序幕,而这些功能早已准备就绪,并等待您的探究。
- 使用移动服务和 Microsoft 帐户验证您的用户。
- 使用安全执行的服务器脚本来验证和授权数据访问。
- 发送 Toast 通知并通过几行代码来实现动态磁贴更新。
有关移动服务的更多信息,请访问 https://www.windowsazure.com/mobile。
--Windows Azure 高级项目经理 Kirill Gavrylyuk