从Async Controller操作重定向到Controller操作不起作用

时间:2015-11-19 12:50:13

标签: asp.net asp.net-mvc redirect asynchronous

我在从此控制器操作重定向时出现问题

[HttpPost]
public async Task<ActionResult> Login(LoginBindingModel model, string returnUrl)

使用

if (loginViewModel.IsConfirmed)
            {
                await accountService.AuditLogin().ConfigureAwait(false);
                user = await usersService.GetUser().ConfigureAwait(false);

                await SessionWrapper.SetCurrentApplicationUserAsync(user.Data).ConfigureAwait(false);
                await SessionWrapper.SetIsAuthenticatedAsync(true).ConfigureAwait(false);

                **return RedirectToAction("Index", "Fixtures");**
            }

没有任何反应,它只是重定向回同一页面。我已经进行了广泛的调查,但我发现的信息并没有帮助。

我重定向的控制器操作如下所示:

[HttpGet]
public async Task<ActionResult> Index(){...}

我有一种感觉,它与它是一种异步方法有关,但我不太了解它来修复它。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

如果两个方法都在同一个控制器中,则代替返回RedirectToAction(“Index”,“Fixtures”);

写“return RedirectToAction(”Index“);”

如果他们不在同一个控制器中那么

写“返回RedirectToAction(”索引“,”你方法所在的控制器的名称“);”

我认为应该这样做。

答案 1 :(得分:0)

好的,所以这就是我所做的一切!

我完全忽视了显而易见的事实。我现在正在Redis缓存中保存会话,因为我遇到了异步访问和设置问题,但忘记更改会话检查程序,将我重定向回登录。

一旦我改变了这些,我就能够通过登录页面。

感谢您的帮助,抱歉浪费您的时间:)