我正在使用Visual Studio 2008开发ASP.NET 3.5应用程序。

我的默认页面在Page_Load方法中包含一些重定向代码:

    protected void Page_Load(object sender, EventArgs e)
    {

        string sname = Request.ServerVariables["SERVER_NAME"].ToLower();

        if (sname.ToLower().Contains("intranet"))
        {
        Response.Redirect("/intranet/Default.aspx");
        }
        else if ((sname.ToLower().Contains("extranet")))
        {
            Response.Redirect("/extranet/Default.aspx");
        }
        else {
            Response.Redirect("/web/Default.aspx");
        }
    }

我已经修改了主机文件,以便Intranet和Extranet重定向到我的本地计算机。
127.0.0.1       intranet
127.0.0.1       extranet

然后,在浏览器中键入URL http://extranet

但是,问题是从Request.ServerVariables [“SERVER_NAME”]返回的服务器变量值始终是“localhost”,而不是“extranet”

对如何获得正确的值(value)有帮助吗?

非常感谢

最佳答案

Request.ServerVariables [“HTTP_HOST”]获取我一直在寻找的值:)

关于asp.net - Request.ServerVariables ["SERVER_NAME"]始终是本地主机,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1305646/

10-12 12:37