因此,在我的代码中,我想检测我的登录页面是否被称为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