gpt4 book ai didi

c# - Azure 移动应用程序与自定义 Controller 离线同步

转载 作者:行者123 更新时间:2023-12-03 01:49:13 25 4
gpt4 key购买 nike

我正在使用Azure Mobile App用于开发后端 API 来使用 SQL Server 数据库,因为我想使用名为 Offline Sync 的内置功能在我的移动客户端应用程序中以离线模式工作。

因此,我使用 TableController 创建了 API 端点,

public class TodoItemController : TableController<TodoItem>
{
protected override void Initialize(HttpControllerContext controllerContext)
{
base.Initialize(controllerContext);
SyncMobiAppContext context = new SyncMobiAppContext();
DomainManager = new EntityDomainManager<TodoItem>(context, Request);
}
}

离线同步模式在移动客户端上完美运行。但是当我使用 [MobileAppController] 属性时,技术上 derivedTableController 创建 API 端点,

// Use the MobileAppController attribute for each ApiController you want to use  
// from your mobile clients
[MobileAppController]
public class CustomerController : ApiController
{
// GET api/<controller>
public IEnumerable<string> Get()
{
using (var context = new SyncMobiDBEntities())
{
return context.Customers.Select(x => x.FirstName).ToArray();
}
}
}

离线同步不起作用。

有没有办法使用[MobileAppController]属性API在客户端SDK中实现或支持离线同步功能?

最佳答案

据我所知,ApiController 只是定义 API Controller 的属性和方法。而TableController继承自ApiController并提供了新功能(通过使用EF数据上下文对Azure移动应用程序中的表进行CURD操作、离线同步等)。

正如官方提到的document关于MobileAppController:

The MobileAppController attribute registers the route, sets up the Mobile Apps JSON serializer, and turns on client version checking.

一般来说,如果您想要离线同步和客户端简单查询功能,我假设您需要使用TableController

关于c# - Azure 移动应用程序与自定义 Controller 离线同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41343413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com