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

使用ASP.NET开发服务器测试多个域

发布时间:2020-12-16 06:53:09 所属栏目:asp.Net 来源:网络整理
导读:我正在开发一个单独的Web应用程序,它将根据用于访问该站点的域名动态更改其内容.多个域将指向同一个应用程序.我希望使用以下代码(或关闭的东西)来检测域名并执行自定义: string theDomainName = Request.Url.Host;switch (theDomainName){ case "www.client
我正在开发一个单独的Web应用程序,它将根据用于访问该站点的域名动态更改其内容.多个域将指向同一个应用程序.我希望使用以下代码(或关闭的东西)来检测域名并执行自定义:

string theDomainName = Request.Url.Host;

switch (theDomainName)
{
  case "www.clientone.com":
    // do stuff
    break;
  case "www.clienttwo.com":
    // do other stuff
    break;
}

我想使用ASP.NET开发服务器测试上面的功能.我在本地HOSTS文件中创建了映射,以将www.clientone.com映射到127.0.0.1,将www.clienttwo.com映射到127.0.0.1.然后,我使用www.clinetone.com(等)浏览器浏览应用程序.

当我尝试使用ASP.net开发服务器测试此代码时,URL始终显示localhost.它不捕获在浏览器中输入的主机,只捕获localhost.

有没有办法使用开发服务器测试URL检测功能?

谢谢.

解决方法

我自己想出了这个.这里的问题不是HOSTS文件不起作用,而是我使用错误的方法从浏览器中检测主机头.

这不起作用,只重复ASP开发服务器所在的127.0.0.1 localhost.

Request.Url.Host;

但是,通过使用以下内容,可以存储输入浏览器的域,并可用于动态更改站点行为,即使在ASP开发服务器上也是如此.

HttpContext.Current.Request.Headers.Get("Host").ToString();

因此,在Dev服务器上测试多个域的解决方案是:

>在本地计算机上的HOSTS文件中创建指向127.0.0.1的多个测试域
>使用Headers.Get(“Host”)语法嗅探输入浏览器的域

我找到的唯一“问题”是你仍然必须手动保留运行ASP dev服务器的特定端口.

例:
如果您的主机文件www.mytestdomain.com指向127.0.0.1,并且您的开发服务器在端口46146上运行,则必须在浏览器中输入以下内容以进行测试:http://www.mytestdomain.com:46146/

但它仍然有效!

(编辑:李大同)

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

    推荐文章
      热点阅读