使用 Azure 移动客户端休息 API

Use Azure Mobile Client for Rest API

我开始使用 Azure 移动应用 SDK 来开发我的 Xamarin 应用。从 TableControlle 开始,但由于希望将大部分业务逻辑保留在 API 中,最终大多数服务使用 REST 概念。例如。 :

        [MyAuthorize(ActivityEnum.None, UserRole.Admin)]
    [HttpGet]
    [Route("GetOrderByUser")]
    public IHttpActionResult GetOrderByUser(int tenantID, string userID)
    {
        try
        {
            var Orders = db.Orders
                    .Where(x => x.TenantID == tenantID && x.DateEndShip == null && x.DateCancel == null)
                    .Project().To<OrderDto>()
                    .ToList();

            foreach (var item in Orders)
            {
                item.CustomerName = db.Parties.FirstOrDefault(x => x.ID == item.CustomerID).Name;
                item.Order_Lines = db.Order_Line.Where(x => x.OrderID == item.OrderID)
                                    .Project()
                                    .To<Order_LineDto>()
                                    .ToList();
                foreach (var line in item.Order_Lines)
                {
                    line.ItemName = db.Items.FirstOrDefault(x => x.ID == line.ItemID).ItemID;
                }
            }

            return Ok(Orders);
        }
        catch (Exception ex)
        {
            return ResponseMessage(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
        }
    }

所以使用了 Xamarin 中的 HTTPClient。但我猜这往往是不稳定的,并且违背了托管在 Azure 移动应用服务上的目的。此外,授权变得混乱,因为我需要在 URL 此处传递令牌。

我真的可以使用 Azure Mobile App SDK 来调用此服务吗?

Azure 移动应用客户端 SDK 提供对 Azure 移动应用服务器 SDK 的客户端访问。您需要同时使用这两者。不能只用一个就不能用另一个。

由于您使用的是 Xamarin,请查看 https://adrianhall.gitlab.io/develop-mobile-apps-with-csharp-and-azure/ 上的书 - 书中涵盖了此处的许多概念。