我有3个网站从负载平衡的服务器池运行。负载均衡器使用粘性会话来确保会话保留在初始池中。
在网站上,我需要生成一个特定于网站的网址。根据标准程序,我尝试使用HttpContext.Request.Url,但这会返回错误的url。然后我尝试使用Request.ServerVariables [“HTTP_HOST”]并返回正确的url。
有没有人有任何想法?
现场A: Request.Url返回Url A. Request.ServerVariables [“HTTP_HOST”]返回Url A
现场B:
Request.Url返回Url A. Request.ServerVariables [“HTTP_HOST”]返回Url B
在网站C:
Request.Url返回Url A. Request.ServerVariables [“HTTP_HOST”]返回Url C
答案 0 :(得分:0)
Request.ServerVariables["HTTP_HOST"]
返回IIS主机,即您的网站设置为响应的主机名。这可能是也可能不是与为了访问您的页面而执行的URL客户端相同的主机。您看到的行为完全符合逻辑,因为客户端始终执行相同的URL,但负载均衡器会将其发送到不同的IIS实例。
编辑:关于那个说明我很困惑为什么你需要“一个特定于网站的网址”?