0

我有一些代码,

    if (Request.Headers["User-Agent"] == "Mozilla/4.0 (compatible; MSIE 4.01; Windows NT; MS Search 6.0 Robot)")
    {
        this.Response.Redirect("/_windows/default.aspx?" + qp.ToString());
    }
    else if(Request.Headers["GET"].Contains("SignOut.aspx") ) {
        this.Response.Redirect("/_layouts/signout.aspx");
    }
    else
    {
        this.Response.Redirect("/_trust/default.aspx?trust=ADFS%20DEV&" + qp.ToString());
    }

问题是我的else if不起作用,因为根据 Microsoft http://msdn.microsoft.com/Request.Headers无法读取“GET” 。我想知道 GET url 何时包含 SignOut.aspx,有没有办法让我读取标题的那部分?

4

1 回答 1

1

看起来您正在寻找HttpRequest.Url,您可以通过 Request.Url 从 Request 对象访问它:

...
else if (Request.Url.AbsoluteUri.Contains("SignOut.aspx"))
{
    //Whatever
}
...

此外,您可能想更多地研究框架为处理请求提供了什么——您正在以艰难的方式做事并重新发明轮子。考虑使用

Request.UserAgent

代替

Request.Headers["User-Agent"]
于 2014-08-05T18:56:03.343 回答