加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何测试开发机器上的子域? abc.localhost

发布时间:2020-12-16 00:29:22 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试开发一个具有多个子域的asp.net站点。我对网站很新,特别是asp.net。然而,似乎通配符子域可以通过dns条目和Web服务器配置的组合进行适当的设置,这在我的开发机器上不会发生。因此我手动在我的Windows主机文件中插入条目: 127.0.0.1 localhost12
我正在尝试开发一个具有多个子域的asp.net站点。我对网站很新,特别是asp.net。然而,似乎通配符子域可以通过dns条目和Web服务器配置的组合进行适当的设置,这在我的开发机器上不会发生。因此我手动在我的Windows主机文件中插入条目:
127.0.0.1  localhost
127.0.0.1  abc.localhost
127.0.0.1  xyz.localhost

但是,当我尝试询问Request.Url属性时,没有可以看到的子域。例如,如果我在浏览器中点击http://abc.localhost:1660 /我从Request.Uri.ToString()获取http:// localhost:1660 /; abc刚刚走了?

我不知道为什么主机文件的工作原理是这样的,但是有什么其他的方法可以用来获得子域到我的本地Web应用程序?谢谢你们。

请注意,我只使用内置的asp.net开发服务器,而不是一个完整的iis服务器。 (本周末我无法访问完整的IIS,但我仍然想知道是否有帮助。)

解决方法

您可以通过使用“Request.Headers [”HOST“]”获得所需域的子域。这是一个返回当前请求的子域的简单方法。这个方法也假设你的域名就像真正的网页一样,你有一个“.COM”,“.NET”等等。所以你想改变你的HOSTS文件,包括“localhost.com”,“abc.localhost.com”等。
public string subdomain()
{
    string host = Request.Headers["HOST"];
    if (!string.IsNullOrEmpty(host))
    {
        var parts = host.Split('.');
        if (parts.Length > 2)
        {
            return parts[0];
        }
    }
    return string.Empty;
}

我正在搜索这个事情,这里有一篇文章,实际上帮助我弄清楚:
https://web.archive.org/web/20090813174916/http://blogs.securancy.com/post/ASPNET-MVC-Subdomain-Routing.aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读