2010-12-12 95 views
0

我有3個從負載平衡的服務器池運行的網站。負載平衡器使用粘性會話來確保會話保持在初始池中。爲什麼HttpContext.Request.Url和Request.ServerVariables [「HTTP_HOST」]返回不同的值

在網站中,我需要生成特定於網站的網址。按照標準程序,我嘗試使用HttpContext.Request.Url,但是這返回了錯誤的URL。然後我嘗試使用Request.ServerVariables [「HTTP_HOST」]並返回正確的url。

有沒有人有任何想法?

在站點A: Request.Url返回的URL Request.ServerVariables [ 「HTTP_HOST」]返回地址甲

在站點B:

Request.Url返回地址甲 Request.ServerVariables [ 「HTTP_HOST」]返回地址乙

現場C:

Request.Url返回的URL Request.ServerVariables [ 「HTTP_HOST」]返回地址C

回答

0

Request.ServerVariables["HTTP_HOST"]返回IIS主機,即您的網站設置爲響應的主機名稱。這可能是也可能不是在URL客戶端執行到您的網頁相同的主機。您看到的行爲完全合乎邏輯,因爲客戶端始終執行相同的URL,但負載均衡器會將其發送到不同的IIS實例。

編輯:在那個筆記我很困惑,爲什麼你需要有「網址特定的網址」?

相關問題