Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 2 我如何判断控制器操作是由DNS还是IP请求的?_Asp.net Mvc 2_C# 4.0 - Fatal编程技术网

Asp.net mvc 2 我如何判断控制器操作是由DNS还是IP请求的?

Asp.net mvc 2 我如何判断控制器操作是由DNS还是IP请求的?,asp.net-mvc-2,c#-4.0,Asp.net Mvc 2,C# 4.0,在我的WebDev服务器上,我试图测试控制器的操作是通过其原始IP请求的,还是通过其DNS请求的。我尝试查看控制器的HttpRequest.Url.HostNameType,但它似乎解析为DNS,即使我在浏览器中输入本地IP也是如此。有什么想法吗?提前谢谢。 获取服务器的域名系统(DNS)主机名或IP地址以及端口号 Uri baseUri = new Uri("http://www.contoso.com:8080/"); Uri myUri = new Uri(baseUri,"shownew

在我的WebDev服务器上,我试图测试控制器的操作是通过其原始IP请求的,还是通过其DNS请求的。我尝试查看控制器的
HttpRequest.Url.HostNameType
,但它似乎解析为DNS,即使我在浏览器中输入本地IP也是如此。有什么想法吗?提前谢谢。

获取服务器的域名系统(DNS)主机名或IP地址以及端口号

Uri baseUri = new Uri("http://www.contoso.com:8080/");
Uri myUri = new Uri(baseUri,"shownew.htm?date=today");

Console.WriteLine(myUri.Authority);

输出:www.contoso.com:8080

该信息在HTTP请求的
主机
头中传递,因此您应该能够像这样访问它:

var requestedHost = Request.Headers["Host"];
如果请求是IP地址,则应返回该IP地址字符串。否则,它将是他们使用的任何主机名