Azure API 应用程序如何为移动和 Web 使用单一托管 api

Azure API App how to use single hosted api for both Mobile and Web

这个问题与以下问题相关,但不是同一个问题

我一直在尝试设置一个 API 以与我的移动应用程序 (Xamarin) 和 Web 应用程序(Angular 或 ASP.NET MVC)一起使用。我想使用 "Azure App Service"。 据我了解,Azure 应用服务包含三项内容

  1. 网络应用程序
  2. 移动应用程序
  3. API 应用

我想 select "API APPS" 因为我想使用我现有的 ASP.Net Web Api 并且想公开 Api 以示炫耀。我也想与移动应用程序和 Web 应用程序分享这个 api。

根据文档 "API APPS" 可以通过移动和 Web 使用 clients.Web 客户端可以,但我需要使用 Azure 移动功能(例如单一身份验证、通知、离线同步 Sql 精简版等)使移动应用程序中的事情变得简单。

根据上述问题的答案和文档,我可以将移动 app back-end packages 安装到 ASP.Web API 并将其托管为 "Mobile APPS"。所以我可以使用所有与手机相关的功能。

  1. 我的问题如果我安装移动后端,我可以使用相同的API 对于 Web 前端?因为我将其托管为 "Mobile APPS" 服务 不是 "API APPS" 服务。

  2. 如何与移动客户端(具有移动后端功能)和 Web 客户端共享单个 API 主机?

  3. 是否可以安装移动后端包并托管 API 作为 "API APPS" ,然后在 Xamarin 应用程序中使用 Mobile SDK 并在 Web APP 中使用 HTTP 客户端或其他客户端来使用相同的 API?

如果要使用Azure Mobile client SDK,尤其是离线同步等功能,则需要使用Azure Mobile server SDK。它是一组 NuGet 包,仅扩展 ASP.NET Web API.

如果你想推出自己的移动客户端,或者只是使用身份验证功能,那么你不需要使用 Azure 移动服务器 SDK,你可以只使用 Web API。

如果您确实想要使用服务器 SDK,我们有示例展示了如何从 Web 客户端使用此 TableController API: