Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure移动应用程序与自定义控制器脱机同步_C#_Azure_Asp.net Web Api_Azure Mobile Services - Fatal编程技术网

C# Azure移动应用程序与自定义控制器脱机同步

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) {

我正在使用开发后端API来使用SQL Server数据库,因为我想在我的移动客户端应用程序中使用名为脱机工作模式的内置功能

因此,我使用
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();
        }
    }        
}