2008-12-11 26 views
0

我正在生成返回url鏈接,因此當用戶點擊此頁面上的關閉按鈕時,它們將返回到此ReturnUrl。Uri.EscapeDataString(Request.Url.AbsoluteUri)在不同的環境中是錯誤的,我還應該使用什麼?

http://localhost:42605/Search.aspx?ReturnUrl=http%3A%2F%2Flocalhost%3A42605%2FStuff%2FViewStuff.aspx%3FProjectId%3D2246

這個工作在開發環境很好,但在UAT環境我有

http://app-uat.com/Search.aspx?ReturnUrl=http%3A%2F%2Fapp-uat-01.com%2FStuff%2FViewStuff.aspx%3FProjectId%3D2246

通知上RETURNURL參數額外的01。

因此產生我目前使用的

位RETURNURL

Uri.EscapeDataString(Request.Url.AbsoluteUri)

由於我沒有到UAT環境我不知道會出現什麼definetly工作的直接訪問直到發佈週期結束後,才能避免在第一次發現錯誤時提供幫助。

在調試我已經

DnsSafeHost或 主機

這可能與

AbsolutePath或 了localPath或 PathAndQuery

或我使用的可能性看着Request.Url

OriginalString

或者我也許可以用referer來代替?

+0

@不管投降。 爲什麼downvote? – 2008-12-11 21:41:50

回答

1

PathAndQuery爲您提供了一個查詢字符串變量的相對路徑,因此您不必擔心域上的額外'01'。只處理相對路徑。

出於好奇,你的環境負荷是否平衡?看起來你的應用程序對它在響應的域感到困惑。如果請求直接與負載平衡點或負載平衡器將請求轉發到特定於機器的域相平衡的服務器,這可能(可能)發生?

我會要求您的網絡管理員的信息。如果你詳細描述你正在做的事情,特別是你的應用程序有時認爲它對app-uat-01有反應,他們可能馬上就會看到這個問題。

相關問題