我正在使用eWay支付門戶構建電子商務應用程序,我遇到了一個奇怪的問題。MVC控制器重定向到另一個視圖後再次調用
在我的eWay設置中,我給出了支付網關的重定向網址,以便用於回到我的應用程序。這工作正常,並在回調方法結束時我使用RedirectToAction
重定向到Confirmation
視圖。
但是,回調方法完成後,它會再次被調用。只有第二次將重定向到我的確認頁面才能正確完成。
尋找提琴手我似乎得到了一個正確的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");
}
的Fiddler跡:
的Fiddler跟蹤示出請求和響應頭:
注調用/Purchase/Purchase
重定向到eWay門戶,在通往eWay本身之前,在返回Purchase/PurchaseCallback
兩次之前,最終到達/Purchase/Confirmation
。還請注意第一個/PurchaseCallback
調用中的圖標,該圖標表示中止的會話。但我不知道爲什麼它會被中止。
沒有關聯的視圖爲PurchaseCallback
和Confirmation
的視圖沒有JavaScript或其他請求。我使用的是IIS Express,但我在其他許多地方使用RedirectToAction
模式沒有問題。
什麼會導致我的控制器方法被調用兩次,我該如何阻止它發生?
這完全取決於客戶端代碼 – Rob
@Rob,正如我所提到的,在從eWay返回後,沒有處理重定向或其他請求的客戶端代碼。 – Steve
我不認爲我們能夠在該跟蹤中看到入站和出站數據包嗎?你能告訴我們兩個嗎? –