Истечение срока действия перенаправления аутентификации вызывает GET вместо POST - PullRequest
1 голос
/ 15 апреля 2011

У меня есть страница, где пользователи редактируют какой-то контент.Если срок действия аутентификации на этой странице истекает, и они нажимают кнопку «Сохранить», поскольку время их сеанса истекло, они перенаправляются на страницу входа.Однако, когда они повторно аутентифицируются, редирект выполняет GET на странице, когда я ожидаю POST, поэтому он генерирует HttException "Метод открытого действия 'Close' не найден в контроллере 'HLPUSD.HEAT.Web.Controllers.TicketController. "

Что мне нужно сделать, чтобы решить эту проблему?

РЕДАКТИРОВАТЬ

Исключение:

System.Web.HttpException (0x80004005): A public action method 'SavePrecedence' was not found on controller 'HLPUSD.HEAT.Web.Controllers.QueueController'.
at System.Web.Mvc.Controller.HandleUnknownAction(String actionName)
at System.Web.Mvc.Controller.ExecuteCore()
at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
at System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext)
at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__4()
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0()
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass81.<BeginSynchronous>b__7(IAsyncResult _)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult1.End()
at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

1 Ответ

1 голос
/ 16 апреля 2011

Если вы уважаете следующие соглашения:

public ActionResult Foo()
{
    ...
}

[HttpPost]
public ActionResult Foo(SomeViewModel model)
{
    ...
}

если первое действие отображает форму, а второе используется для обработки отправки этой формы, оно будет работать, поскольку у вас есть действия GET и POST для этого ресурса, а в описанном сценарии пользователи будут просто перенаправлены на GET /SomeController/Foo, который просто визуализирует форму еще раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...