在Azure移动应用中,TableController和ApiController有什么区别?

10
我刚开始学习移动应用程序。我通常使用Web API的ApiController来制作API。
在VS2015中,Mobile Apps的默认项目模板带有一个名为"TodoItemController"的示例,它继承自"TableController"。看起来"TableController"内置了一些CRUD操作,并且每个数据对象必须是"ITableData"类型。
理想情况下,我想跳过"TableController",并使用"ApiController"以我自己的方式实现。
我的问题是,如果放弃"TableController",是否会有任何后果?App Service和使用"TableController"之间是否存在紧密耦合?

你介意分享哪些ITableData方面不太理想吗?将来,我们可能会放宽其中一些要求。 - lindydonna
2
非空的 GUID 用于 Id 列和非空日期。 - Mark13426
1个回答

7

TableController与客户端SDK的表逻辑耦合,提供了所有必要的逻辑和列来进行查询、离线同步等交互操作。

您可以完全使用API控制器,这主要取决于您想要使用哪些功能。


这些功能可以使用ApiController实现吗? - Mark13426
5
不,如果您需要离线同步和客户端查询功能,则需要使用TableController。所有其他功能都可以与ApiController正常工作。确保使用MobileAppController属性,请参见https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-dotnet-backend-how-to-use-server-sdk/#how-to-define-a-custom-api-controller。 - lindydonna
@lindydonna-msft,如果我只想返回Json对象,使用MobileAppController有什么好处? - Emil
@batmaci MobileAppController 将以与移动应用客户端 SDK 兼容的方式设置 JSON 序列化程序。 - lindydonna
不要使用它,这是一个糟糕的想法。TableController不值得花费精力,你最终会放弃它。此外,微软的哲学是,当他们无法修复某些东西时,他们会创建新的东西,并期望你跟随。 - Nick Turner
使用Shiny管理自己的API同步非常容易。 - Nick Turner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接