What is the TableController class for and where are its methods used?

孤人 提交于 2019-12-12 04:33:21

问题


I've been starting out with Azure and have chosen to set up a Mobile Service using .NET in VS. I've been learning about the constituents of the Azure Todo get-started server project.

One thing I'm struggling to understand (even with extensive Googling) is what the TableController methods are for? I understand that TableController exposes the table to HTTP requests? But when I access data from my client I'm using ".LookupAsync" or ".UpdateAsync" methods on the Table returned by my MobileServiceClient instance.

Are the GetAllToDoItems(..), PathToDoItem(..), GetToDoItem(..), PostToDoItem(..), DeleteToDoItem(..) methods in the TableController being used behind the scenes somewhere when I make those calls on the MobileServiceClient Table?

Can I access those methods from my client? Are these methods standard/required method names?

Is TableController a good place to put server code for authorisation? E.g. the classic example of only returning that user's records?

Thanks for any help, Tom.


回答1:


Can I access those methods from my client? Are these methods standard/required method names?

At currently, Azure mobile app support C# and node.js as its backend language. From the Get started article, we can know that we can take advantage of Mobile App using native SDKs whether you're building native iOS, Android, and Windows apps or cross-platform Xamarin or Cordova (Phonegap) apps. We can see a lot of functions like GetAllToDoItems(..), PathToDoItem(..), GetToDoItem(..), PostToDoItem(..), DeleteToDoItem(..) in the backend project. This method is a MVC controller action name. Please note the SDK functions are the important, as we can see below, the backend project has a function called GetTodoItem.

     public SingleResult<TodoItem> GetTodoItem(string id)
        {
            return Lookup(id);
        }

However the function Lookup which under the namespace "Microsoft.Azure.Mobile.Server" is the key method in this function:

Is TableController a good place to put server code for authorisation? E.g. the classic example of only returning that user's records?

If you want to add authentication, I think this article may be give you helps. Just use Azure AD for example, if you want to protect some table controller, we only need to configure Azure AD then add [Authorize] attribute before table controller, it is not necessary to add authrize code in that table controller.



来源:https://stackoverflow.com/questions/41091994/what-is-the-tablecontroller-class-for-and-where-are-its-methods-used

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!