イムに移行した後に動作していません。私のAPIのほとんどのメソッドは正常に動作しますが、不思議なことにいくつかの理由がありません。コントローラは、ASP.NETコアに私のASP.NET 4のアプリを移行ASP.NETコア1
私はOwin.OAuth認証(OAuthAuthorizationServerProvider
)を使用していますが、2回以外の呼び出しではthis.User
(ControllerBase
)プロパティが正しく設定されています。 2つのコントローラの場合にのみ、これは動作しません!
だから、このコントローラは、建設this.Userの時点で、より具体的に、作品はどれもnullで、そのベアラトークンのための正しいユーザが含まれています。このコントローラは動作しません
[Authorize]
public class DriversController : AuthenticatedController
{
public DriversController() : base()
{
// this.User is none null!
}
[HttpGet]
[Route("api/drivers")]
public async Task<IActionResult> GetDrivers()
{
...
}
}
コンストラクタがヒットしたとき、this.User
はthis.User
がAuthenticatedController
から継承Microsoft.AspNetCore.Mvc.ControllerBase
の財産であるという帰
[Authorize]
public class DriversAssignmentController : AuthenticatedController
{
public DriversAssignmentController() : base()
{
// this.User is null!
}
[HttpGet]
[Route("api/driverassignment")]
public async Task<IActionResult> GetDriversAssignments()
{
...
}
}
注意です。
あなたはルート属性HTTPGETと属性混ざっていますか? – benjrb
は、私が最初に '[HTTPGET]'と '[ルート( "API/...")]'でそれを装飾され、それが動作しませんでした。私はちょうどので、私は...それはそれはコンストラクタで仕事をdoesntだから、なぜだろうが何の違い:) – Chris