12

目前在 Azure 移动服务中开发后端系统的“最佳”方式是什么?

具体来说,有哪些工具可用?据我所见,大多数示例只是转到管理门户并手动将几行添加到脚本窗口中。这比只使用记事本更糟糕,并且没有任何版本控制的概念......

有没有办法在 VS 2012 中创建一个项目,其中包含将在 Azure 移动服务中运行的所有 Node.js 代码?有没有办法在模仿移动服务的本地开发环境中完全运行该代码?

我需要的服务器端代码比我能找到的大多数移动服务示例或文档中显示的复杂得多。

我有一个网站和一个 Win 8 商店应用程序,需要对其进行身份验证,并从后端数据库访问相对复杂的数据结构。现在推出的解决方案似乎都以移动服务为核心,对原始表使用简单的 REST,但所有示例都过于简单而无用。

有人可以指出使用移动服务的“现实生活”示例,以及使用 Visual Studio 中的工具开发和测试此类系统的“成熟”方式吗?

谢谢。

4

7 回答 7

4

为什么除了管理门户之外别无选择,我真的无法理解。对于 C#/.NET 开发人员来说,使用 console.log() 调试回到记事本风格的编程似乎很尴尬。

我希望看到一些 Node.js 入口点,您可以将它们连接到常规 C# 程序集,该程序集可以满足您使用完整 .NET 框架的请求(如在 ASP.NET MVC 或 Web API 中)。

我认为可能的架构是:

托管在 Azure 上的 ASP.NET MVC --- 将处理后的数据与逻辑写入 ---> Azure SQL DB <--- 从 --- Azure 移动服务 ---- 桥接至 ---> 移动设备

或者

Azure 上的云工作者角色 ---- 处理/处理 ----> Azure SQL DB <---- 读取/写入原始数据 ---- Azure 移动服务 ---- 桥接 ---> 移动设备

您可以将移动服务设施用于移动设备设施、调度和推送通知,并使用有限的代码,并在托管的 .NET 环境中完成大部分编码。

于 2013-04-03T04:23:33.573 回答
4

自从写完这篇文章和回复了答案以来,AMS(Azure 移动服务)和 Azure 已经有了很大的进步。

有些东西仍然适用。如果您有大量 node.js 不是在 Azure 云门户中编写的,您将需要复制并粘贴到在线门户、自定义 api 调用部分,甚至可能是用于 CRUD 操作的 sql 后端表。

C# 开发人员的希望是它现在处于预览模式,您可以在其中跳过 node.js 并在没有 node.js 的情况下很快构建所有东西......一些错误需要解决,但在 6 个月内这将是相当可靠的。

我有问题和问题,一个名叫 Carlos carlosfigueira 的人非常有帮助。 Azure 移动服务 - 获取更多用户信息

于 2014-05-11T23:19:05.397 回答
3

Josh 在这里介绍单元测试服务器脚本:http ://www.thejoyofcode.com/Unit_testing_Mobile_Services_scripts_Day_7_.aspx

在本教程中,他使用 JS 的Mocha 测试框架(id TDD 模式)并演示了一个示例,用于测试加密特定属性(文本)值的 INSERT 脚本和解密它的读取脚本(值加密在在 SQL 数据库中休息)。

您还可以在此处找到链接和教程的聚合。

于 2013-02-21T16:34:54.780 回答
1

我建议您使用 Windows Azure Mobile 解决方案构建此解决方案,尤其是它现在支持 Node JS NPM,这意味着您可以使用 Node JS NPM 在 Windows Azure 上创建您想要的 API,并且可以使用 WAMS 轻松使用它。看看下面的链接,它会帮助你理解我想说的更多。

http://weblogs.asp.net/scottgu/archive/2013/06/14/windows-azure-major-updates-for-mobile-backend-development.aspx

对于客户端,我还建议您使用 SignalR 构建它,它专为实时应用程序需要来自服务器端的大量事务的情况而设计。

http://www.asp.net/signalr

您还可以在以下链接中找到有关如何集成它们的更多详细信息:http: //hhaggan.wordpress.com/2013/07/12/signalr-node-js/

我希望这些对你有帮助,如果你还需要什么,请告诉我。

于 2013-07-25T23:42:37.457 回答
1

对于本地运行,移动服务具有与 azure 网站相同的 Kudu 环境,因此您可以浏览到https://your_service_name.scm.azure-mobile.net如果您从顶部导航导航到调试控制台,您可以下载在 site/wwwroot 文件夹中运行的所有内容。

您可以在本地运行此 nodejs 项目(仅当您需要 SQL Server npm 包时才在 Windows 上运行)。您的代码位于 App_Data/config/scripts 中。如果将下载的内容替换为当前本地的 git 工作副本,则可以在本地开发和调试,然后像往常一样推送更改。

于 2014-07-26T00:48:58.800 回答
0

我使用的工具:

  1. 带有 JS 环境的 Eclipse(或任何 nodejs IDE)。
  2. 吉特
  3. 邮差

脚步:

  1. 为您的 Azure 移动服务启用源代码控制。
  2. 拉到您的本地并使用源创建一个 Eclipse 项目。
  3. 做出改变并推动。
  4. 用 POSTman 测试

这个过程让我可以非常快速地开发并且 eclipse 告诉我常见的 JS 错误。但它有明显的缺点:

  1. 没有调试(我使用console.log)
  2. 该项目最终有很多提交(很难使用 git 进行适当的源代码控制)
于 2014-08-22T14:43:39.510 回答
0

我刚刚写了一篇关于在本地运行 Azure 移动服务的博文:http: //www.mikelanzetta.com/2014/09/running-azure-mobile-services-locally/ - 基本上它会询问 API 并启动 express,并允许你自己在本地运行 mocha。它比从 scm 链接拉下完整的 wwwroot 更干净,而且我发现使用我的本地运行器作为 git 子模块使其易于使用(并且我很容易使用 VSO 来管理我的测试)。

无论如何,对于实际开发,我使用 Git 集成和 WebStorm - 它会自动计算出我本地 Gruntfile 中的任务,并使其易于运行和测试。部署后,Postman 很有帮助。

于 2014-09-09T22:05:03.530 回答