我有一个ASP.NET Core 2 Web应用程序。它实际上是Identity Server 4的一个实现,但我不相信这与我的问题有关。我有一个控制器,其动作表示来自外部OAuth服务的回调。我已经删除了所有处理程序逻辑,只留下这个:
[HttpGet]
[AllowAnonymous]
[Route("challenge/callback")]
public async Task<IActionResult> ExternalLoginCallback(string returnUrl = null, string remoteError = null)
{
TempData["Test"] = "hello world";
return RedirectToAction("Index", "App", new { path = "oauth-register" });
}
您可以看到我设置了一些诱惑数据并重定向。它重定向的视图只是迭代TempData
集合并呈现每个键/值。
应用程序使用TempData
的默认实现,因此没有额外的提供程序注册或任何内容。
我现在执行以下两项操作:
TempData
集合为空,目标视图没有写出任何内容。我无法理解这一点,因为就我的申请而言,这些行为肯定是相同的。它们都是同一端点的GET请求。 TempData
基于引用或其他特定于请求的变量的行为是否不同?
我希望有人可以让我摆脱痛苦!