Я создаю приложение электронной коммерции, используя портал платежей eWay, и у меня возникла нечетная проблема.MVC Controller снова вызван после перенаправления на другой вид
В моей настройке для eWay я предоставляю URL-адрес перенаправления для шлюза оплаты, чтобы использовать его для возврата в мое приложение. Это работает правильно, и в конце метода обратного вызова я использую RedirectToAction
для перенаправления на вид Confirmation
.
Однако, после того, как метод обратного вызова завершен, он снова вызывается. Только второй раз будет перенаправлен на страницу подтверждения.
Глядя в Fiddler, я получаю правильный ответ 302
от моего метода обратного вызова к моему подтверждению, однако я получаю значок, который является Session was aborted by the client, Fiddler, or the Server
. Обратите внимание, что это все еще происходит, когда Fiddler закрыт.
Мой метод обратного вызова:
public ActionResult PurchaseCallback(string accessCode)
{
// payment processing
.....
return RedirectToAction("Confirmation");
}
public ActionResult Confirmation()
{
return View("Confirmation");
}
Скрипач след:
Скрипач трассировки, показывающие заголовки запроса и ответа:
Примечание вызов /Purchase/Purchase
, который перенаправляется на портал eWay, перед тем как туннель отправится в eWay, прежде чем вернуться к Purchase/PurchaseCallback
дважды, прежде чем, наконец, доехать до /Purchase/Confirmation
. Также обратите внимание на значок в первом вызове /PurchaseCallback
, который указывает на прерывание сеанса. Однако я не знаю, почему это было бы прервано.
Нет связанных изображений для PurchaseCallback
, а для Confirmation
нет комментариев или нет. Я использую IIS Express, но я использую шаблон RedirectToAction
во многих других местах без проблем.
Что вызовет мой метод контроллера, который будет вызываться дважды, и как я могу остановить его?
Это будет полностью зависеть от кода на стороне клиента, который у вас есть – Rob
@Rob, как я уже упоминал, нет кода на стороне клиента, который занимается переадресацией или другими запросами после возврата из eWay. – Steve
Я не думаю, что мы можем видеть как входящие, так и исходящие пакеты на этой трассе? Можете ли вы показать нам обоих? –