我有一個與Response.Redirect問題,儘管閱讀大量的帖子,我一直無法解決我的特定問題。正確的方式來使用Response.Redirect
我正在處理的網站通過web服務與第三方集成。 Web服務按預期返回結果,之後我們會做一些內務處理,然後重定向到第三方提供的url。
這裏發生了什麼:
如果我們得到一個特定的反應回來,我們希望通過在響應
- 我們提出要求,並提供了鏈接重定向到一個下屬網站收到響應
- 我們更新數據庫SQL
- 我們使用System.Net發送郵件發送
之後,我們要重定向;
Response.Redirect(resp.RedirectUrl, false);
Context.ApplicationInstance.CompleteRequest();
儘管使用了似乎是正確的方法,但我的第三方通知我,我們獲得的失敗重定向的百分比很高。在代碼樹中較高,有很多錯誤捕獲,所以當它到達這一點時,它應該是一個簡單的重定向的情況。
我知道這可能不是我們的最終目標,並且已經請求了一些模式數據來確定「誰」和「何時」發生。
與此同時,我試圖確保我們的方面儘可能健壯,所以我有幾個問題。
- 上述方法有什麼根本錯誤嗎?
- 是否可以使用更好的方法?
- 有什麼我能/應提前測試
感謝。
這似乎也將與您傳遞到重定向請求的URL,而不是重定向請求本身的問題。如果您確定從網絡服務傳遞了正確的網址,那麼它似乎是第三方的問題。 – anothershrubery
你是否需要Context.ApplicationInstance.CompleteRequest();呼叫? 嘗試沒有,也許? 我沒有看到你在做什麼真的錯了。我的猜測是問題在他們的最後。 –
@anothershrubery - 我只是在進行檢查以確保其有效的Uri - 我知道它本身不會阻止您描述的問題,但它會過濾掉任何畸形的URL。 –