https://docs.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-dotnet-backend-にある Azure Mobile App バックエンド チュートリアルの .NET 部分を確認しています。サーバー SDK の使用方法
デフォルトの例ですべてをうまくセットアップしましたTodoItemController
。コントローラ メソッドにコードを追加することで、指示どおりにプッシュ通知を追加しました。PostToDoItem
次に、Postman を使用して POST 呼び出しをテストし、単純な新しい項目を追加しました。
Xamarin.Forms モバイル アプリで成功したプッシュ通知を受け取ると、次のようになります。
ただし、「匿名要求を許可する (アクションなし)」をオンのままにして、Mobile App Service で Azure Active Directory 認証を有効にすると、Postman で POST 呼び出しを送信できなくなります。より具体的には、App Service が POST 要求を受信したように見えますが、すぐにそれをリダイレクトし、代わりに GET 要求を生成します。これにより、コントローラの GetAllToDoItems メソッドが PostToDoItem メソッドの代わりに呼び出されます。ログストリームにこれが表示されます:
> 2017-05-31T01:33:46 PID[4292] Verbose Received request: POST
> http://XYZ.azurewebsites.net/tables/TodoItem?ZUMO-API-VERSION=2.0.0
> 2017-05-31T01:33:46 PID[4292] Information Redirecting:
> https://XYZ.azurewebsites.net/tables/TodoItem?ZUMO-API-VERSION=2.0.0
> 2017-05-31T01:33:46 PID[4292] Verbose Received request: GET
> https://XYZ.azurewebsites.net/tables/TodoItem?ZUMO-API-VERSION=2.0.0
> 2017-05-31T01:33:46 PID[4292] Verbose [Routes(Preview)] No
> authorization configuration was found. 2017-05-31T01:33:46 PID[4292]
> Information Request, Method=GET,
> Url=https://XYZ.azurewebsites.net/tables/TodoItem?ZUMO-API-VERSION=2.0.0,
> Message='https://XYZ.azurewebsites.net/tables/TodoItem?ZUMO-API-VERSION=2.0.0'
> 2017-05-31T01:33:46 PID[4292] Information Message='TodoItem',
> Operation=DefaultHttpControllerSelector.SelectController
> 2017-05-31T01:33:46 PID[4292] Information
> Message='XYZService.Controllers.TodoItemController',
> Operation=DefaultHttpControllerActivator.Create 2017-05-31T01:33:46
> PID[4292] Information
> Message='XYZService.Controllers.TodoItemController',
> Operation=HttpControllerDescriptor.CreateController
> 2017-05-31T01:33:46 PID[4292] Information Message='Selected action
> 'GetAllTodoItems()'',
> Operation=ApiControllerActionSelector.SelectAction
この POST 呼び出しは、App Service 認証を OFF に設定した場合と同じように機能することを期待していました。匿名の要求が届いたときに Azure にアクションを実行しないように指示したためです。ここで何か誤解していますか? 前もって感謝します!