我有4个服务器参与负载均衡环境,每个服务器都托管着相同的ASP.NET应用程序。 我想获得DNS名称,而不考虑底层服务器。 以下哪个选项会给出正确答案?
Request.Url.Host
Environment.MachineName
System.Net.Dns.GetHostName()
感谢您的建议!
我有4个服务器参与负载均衡环境,每个服务器都托管着相同的ASP.NET应用程序。 我想获得DNS名称,而不考虑底层服务器。 以下哪个选项会给出正确答案?
Request.Url.Host
Environment.MachineName
System.Net.Dns.GetHostName()
Request.Url.GetLeftPart(UriPartial.Authority)
。例如,如果请求的URL是http://www.contoso.com/index.htm?date=today
,则此方法将返回http://www.contoso.com
。http://myserver044/mySite/myPage
)而不是http://www.myportal.com/mySite/myPage
,则仍可能会得到错误的结果。根据您的需求,最好在配置中提供该名称(即拒绝来自指向相同服务器的错误URL的请求)。 - Alexei Levenkovwww.domain.com
的负载均衡器将请求转发到 A.domain.com
和 B.domain.com
,那么获取 Request.Url.GetLeftPart
是否会跳转到 www.domain.com
或当前执行服务器的 URL? - Ramesh首先,它实际上是唯一一个即使稍微相关也是如此。
无论如何,这两个可能都不是用于访问机器的内容。这基本上只是Url.Host部分,因为它通过请求传递。