我有一個response.redirect(url)
都到另一個站點。
在這個失敗的情況下,我應該怎麼又重定向到一個重定向失敗頁?重定向到一個頁面,如果失敗的Response.Redirect
- 該請求正從aspx頁面後面的代碼發送。
- 我在代替
httpmodule
。它可以被使用嗎?
我有一個response.redirect(url)
都到另一個站點。
在這個失敗的情況下,我應該怎麼又重定向到一個重定向失敗頁?重定向到一個頁面,如果失敗的Response.Redirect
httpmodule
。它可以被使用嗎?response.redirect(url)告訴瀏覽器請求「url」,所以你不能控制這個url調用在瀏覽器中是否失敗。
你可以做的就是做一個HTTP
GET
HEAD到那個URL首先看看你是否得到http 200響應然後做一個response.redirect(url)。
同意。如果新頁面位於OP控制之外的其他服務器上,那麼唯一的方法是首先測試該服務器是否可用,然後決定是否重定向 – NotMe 2011-03-25 20:56:54
謝謝!我應該可以使用它來使它工作。 – confuzzled 2011-03-25 20:58:52
雞蛋裏挑骨頭:而不是執行一個HTTP GET,而不是考慮執行HTTP頭,並保存自己的一些帶寬 - http://stackoverflow.com/questions/830435/how-to-check-if-a-file-exists-on- a-server-using-c-and-the-webclient-class – 48klocs 2011-03-25 21:03:06
這沒有多大意義 - 如果重定向失敗,如何將服務器有史以來發現的?
重定向告訴瀏覽器去到不同的網頁 - 如果失敗,失敗的瀏覽器和服務器沒有辦法知道。
不完全正確。你可以抓住它並重新定向。我認爲問題在於如何告訴它在沒有「響應」的情況下重定向,因爲對象爲空。 – trgraglia 2011-05-17 12:04:37
最初的重定向到一個完全不同的網站,或只是在您的應用程序的另一個頁面? – 2011-03-25 20:55:00
不同的網站 – confuzzled 2011-03-25 20:58:02