因此,在我的代碼中,我想檢測我的登錄頁面是否被稱爲http,並將其重定向到https。asp.net c#從http重定向到https
我知道有非代碼的方式來剝皮這隻貓,但令人沮喪的技術reasosn我支持在代碼中做它。
if (!Request.IsSecureConnection)
{
string redirectUrl = Request.Url.ToString().Replace("http:", "https:");
Response.Redirect(redirectUrl);
}
所以我在Page_Load(...)
下降這一點,以確保我的調試器使用真正的IIS,沒有VS2008s IIS,並創下調試。
在調試器中,華爾茲沿,命中 Response.Redirect(「https://localhost/StudentPortal3G/AccessControl/AdLogin.aspx」), 命中f5。
獲得「互聯網Explorere無法顯示該網頁,網址是HTTP,HTTPS不是。 沒有收到信息的錯誤...同樣的事情發生不是在調試器中運行。
所以我錯過什麼?它看來不是火箭科學,我已經看到了很多博客的代碼類似......
什麼我做錯了什麼?我想,這必須是一個完全明顯新手的錯誤,但我沒有看到它。
在IE關閉「顯示友好的錯誤消息」,看看它說。如果「友好」(我使用這個術語鬆散地)打開錯誤消息,並且IE獲得非200狀態代碼並且信息少於512字節,它會打開盲區。 – NotMe 2011-03-14 22:36:59
嘗試包括http://msdn.microsoft.com/en-us/library/system.uri.scheme.aspx來處理協議。 – 2011-03-14 22:40:16
@Chris - 我將該設置關閉並仍然出現相同的錯誤。任何想法如何獲取信息錯誤? – 2011-03-15 14:46:09