Web应用程序和移动应用程序与Azure中的相同数据库

时间:2016-08-13 09:05:14

标签: asp.net azure azure-web-sites azure-mobile-services

我的目标是开发一个从同一个数据库共享数据的Web应用程序和移动应用程序。 实现这一目标的最佳方法是什么(使用azure)?

我想我应该:

  • 使用SQL数据库从Azure门户创建Web应用程序
  • 使用现有数据库(我之前创建的数据库)从Azure门户创建移动应用程序

然后我将开发我的ASP.net MVC项目,使用Entity Framework创建db Schema,然后我将在Azure中发布它。 最后,我将开发我的移动应用程序(在这种情况下,我想使用Xamarin),然后我将使用Easy Tables的代码访问数据库(之前创建)。

是不是?或者我认为错了,这不是使用Azure在Web应用程序和移动应用程序之间共享同一数据库的最佳架构吗?

2 个答案:

答案 0 :(得分:0)

如果您想开发网站和移动应用程序共享同一个数据库,那么这是一个不错的选择。

答案 1 :(得分:0)

Azure Mobile Apps是一个简单的旧ASP.NET应用程序或Node.js应用程序。 Easy Tables只是Node.js版本数据的投影。如果您使用的是ASP.NET,那么您就不会获得Easy Table。

话虽如此,将Azure Mobile Apps SDK添加到现有的Web应用程序相对容易。

1)将代码从App_Start\Startup.MobileApp.csStartup.cs复制到您的ASP.NET应用

2)确保您的所有模型都继承自EntityData,以便他们能够随时待命?#34;。如果您的模型已有自动递增标识列,请参阅https://shellmonger.com/2016/05/11/30-days-of-zumo-v2-azure-mobile-apps-day-19-asp-net-table-controllers/了解解决方法

3)用于移动数据库表投影的脚手架Azure移动应用程序表控制器。

您可以在MVC控制器和移动控制器上使用相同的模型。如果您的应用使用AJAX调用来获取数据,则可以使用适用于Azure移动应用的JavaScript SDK替换这些AJAX调用,这样您就不必复制内容。

您必须要处理的主要地方是auth的集成。大多数MVC应用程序使用Identity数据库,因为它们是从一个现有的MVC模板中扩展出来的。您将需要实现自定义移动身份验证机制来重用数据库。您可以在azure.com HOWTO文档中找到相关信息。