Uri.EscapeDataString(Request.Url.AbsoluteUri)は、異なる環境では間違っている、私は他に何を使うべきでしょうか?
-
21-08-2019 - |
質問
私は、ユーザーがこのページのクローズボタンを押したときに、彼らはこのにreturnurlに戻るリターンURLリンクを生成しています。
これは、DEV環境では正常に動作しますが、UAT環境では、私が持っている
<のhref = "http://app-uat.com/Search.aspx?ReturnUrl=http%3A%2F%2Fapp-uat-01.com%2FStuff%2FViewStuff.aspx%3FProjectId%3D2246" のrel = "nofollowをnoreferrer"> 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)
私は私が参考になる最初の時間を、それは間違って避けることができますので、もしdefinetlyリリースサイクル後まで動作するものを知らないUAT環境への直接アクセスを持っていけないと。
私が持っている可能性をデバッグするにRequest.Urlを見ると
DnsSafeHostか ホスト
と一緒に使用することができました
AbsolutePathか ローカルパスまたは PathAndQuery
または私が持っている
OriginalString
または私は多分、私が代わりにリファラを使うだろうか?
解決
PathAndQueryはあなたのクエリ文字列VARSと相対パスを提供します。ただ、相対パスを扱うます。
好奇心から、あなたのUAT環境負荷がバランスしていますか?アプリが、それは上の応答いたドメインへと混同されることが表示されます。要求がロードバランスポイントに対する直接のバランスサーバーに当たったり、ロードバランサは、マシン固有のドメインへの要求を転送する場合、これは(おそらく)が起こるだろうか?
私は、ネットワーク管理者からの情報を要求します。あなたのアプリは、時にはそれがアプリ-UAT-01に対応しています信じて、特にことを、非常に詳細にあなたがやっていることを説明した場合、彼らはすぐに問題が表示される場合があります。