Pet*_*eld 4 asp.net visual-studio-2008
我正在开发一个单独的Web应用程序,它将根据用于访问该站点的域名动态更改其内容.多个域将指向同一个应用程序.我希望使用以下代码(或关闭的东西)来检测域名并执行自定义:
string theDomainName = Request.Url.Host;
switch (theDomainName)
{
case "www.clientone.com":
// do stuff
break;
case "www.clienttwo.com":
// do other stuff
break;
}
Run Code Online (Sandbox Code Playgroud)
我想使用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;
Run Code Online (Sandbox Code Playgroud)
但是,通过使用以下内容,可以存储输入浏览器的域,并可用于动态更改站点行为,即使在ASP开发服务器上也是如此.
HttpContext.Current.Request.Headers.Get("Host").ToString();
Run Code Online (Sandbox Code Playgroud)
因此,在Dev服务器上测试多个域的解决方案是:
我找到的唯一"问题"是你仍然必须手动保留运行ASP dev服务器的特定端口.
示例:如果您的主机文件www.mytestdomain.com指向127.0.0.1,并且您的开发服务器在端口46146上运行,则必须在浏览器中输入以下内容以进行测试:http://www.mytestdomain. COM:46146 /
但它仍然有效!
| 归档时间: |
|
| 查看次数: |
1522 次 |
| 最近记录: |