C# Azure移动应用程序与自定义控制器脱机同步
我正在使用开发后端API来使用SQL Server数据库,因为我想在我的移动客户端应用程序中使用名为脱机工作模式的内置功能 因此,我使用C# Azure移动应用程序与自定义控制器脱机同步,c#,azure,asp.net-web-api,azure-mobile-services,C#,Azure,Asp.net Web Api,Azure Mobile Services,我正在使用开发后端API来使用SQL Server数据库,因为我想在我的移动客户端应用程序中使用名为脱机工作模式的内置功能 因此,我使用TableController创建了API端点 public class TodoItemController : TableController<TodoItem> { protected override void Initialize(HttpControllerContext controllerContext) {
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]
属性API实现或支持客户端SDK中的脱机同步功能?正如我所知,ApicController
只定义API控制器的属性和方法。而TableController
继承自ApiController
,并提供了新功能(通过使用EF数据上下文、脱机同步等在Azure移动应用程序中的表上执行CURD操作)
正如官方关于MobileAppController
的文章中提到的:
MobileAppController属性注册路由,设置移动应用JSON序列化程序,并打开客户端版本检查
通常,如果您想要脱机同步和客户端简单查询功能,我假设您需要使用TableController
// 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();
}
}
}