Windows 8和Windows Phone使用Azure推送通知
本文关键字:Windows 通知 Azure 使用 Phone | 更新日期: 2023-09-27 17:53:31
我已经研究过Azure移动服务,发现它很棒,但没有给我想要的灵活性(Node.js也给我留下了c#的坏味道)。
我在Windows 8中使用定期更新通知,并且已经有一个ASP。提供平铺图像和平铺xml内容的。NET Web API项目。我希望在Windows 8和Windows Phone的推送通知中使用Azure Worker角色和Azure存储表。
我发现这个例子,但它似乎是为VS2012发布预览。我找不到更新版本或任何其他样本来工作。我特别希望我的服务同时支持Windows 8和Windows Phone。
http://watwindows8.codeplex.com/wikipage?title=Push%20Notification%20Worker%20Sample如果有人可以概述我需要的引用/nuget包。这可帮了大忙了。
编辑:Jim O'Neil的博客是一个很好的起点。我需要使用Azure Worker角色,因为我想定期发送通知。
我还找到了用于从服务器发送推送通知的WnsRecipe NuGet包。吉姆·奥尼尔的解决方案也一样好。
最后,为了节省一点时间,我希望避免为将应用程序通道ID注册到服务器上的表而编写数据访问代码。Azure Mobile Services MobileServiceClient类是一个很好的解决方案,因为它允许你用几行代码完成所有这些。该表可以通过REST服务获得。然而,问题仍然存在:
- 我可以继续使用移动服务表存储MobileServiceClient与我的应用程序和Azure Worker角色,还是我必须使用Azure表存储?
- 如果我可以使用MobileServiceClient,我如何从我的Azure Worker角色访问表?
- 如果我必须使用Azure表存储,它也提供免费的REST服务,我如何从我的Windows 8应用程序访问表?
Windows Azure Service Bus刚刚发布了一项新功能,允许从c#后端(很快也会从移动服务端)推送Windows 8(和iOS)通知,根本不需要顶部处理channeluri。
看看:http://channel9.msdn.com/Shows/Cloud+Cover/Episode-100-Introduction-to-the-Windows-Azure-Service-Bus-Notification-Hubs
Windows 8代码演练:http://channel9.msdn.com/Blogs/Subscribe/Service-Bus-Notification-Hubs-Code-Walkthrough-Windows-8-Edition
如果你尝试了,让我知道你的想法!
严格地说,不需要NuGet包,它们只是功能的包装器(在幕后都是REST/OAuth),使您的工作更轻松。正如你所观察到的,Windows 8和Windows Phone的Windows Azure工具包已经被Windows Azure移动服务所取代。
如果你想自己做,你可以看看我写的关于使用Azure Web站点推送通知的三部分博客系列。它是Web站点,而不是Web角色,但这部分是可以互换的;不过,我想说的是,网站将是一个更经济的选择,除非你已经实现了你正在使用的服务。
我没有将Windows Phone整合到这个系列中,Windows Phone确实使用了与Windows 8略有不同的通知机制,但这是我的待办事项列表,希望那里的内容能让你朝着正确的方向前进。
当您使用MobileServiceClient在移动服务中存储数据时,您实际上是将数据存储在SQL Azure数据库中。当涉及到从工作者角色访问这些数据时,您有许多选项。
- 使用SQL客户端直接连接。它可以是实体框架,一个不同的ORM,甚至是原始的ADO.NET。您可以通过在Azure门户中选择数据库来获得数据库的连接字符串。在仪表板选项卡上有一个显示连接字符串的选项。
- 使用客户端库通过移动服务访问数据。不幸的是,我们还没有一个可以从worker角色使用的官方SDK,但好消息是NuGet上有一个非官方的软件包
- 通过HTTP请求直接通过移动服务提供的HTTP端点访问数据。API文档在这里。