Uri.EscapeDataString (Request.Url.AbsoluteUri) ne va pas dans un environnement différent, Que dois-je utiliser?
-
21-08-2019 - |
Question
Je suis générer un lien url de retour alors quand l'utilisateur touche le bouton de fermeture de cette page ils reviennent à ce ReturnUrl.
Cela fonctionne bien dans un environnement de dev, mais dans UAT environnement, j'ai
Remarquez le 01 supplémentaire sur le paramètre ReturnUrl.
Donc, pour générer le bit ReturnUrl J'utilise actuellement
Uri.EscapeDataString (Request.Url.AbsoluteUri)
Comme je n'ai pas accès direct à l'environnement UAT Je ne sais pas ce qui va travailler definetly qu'après un cycle de sortie, donc si je peux éviter de se tromper la première fois qui serait utile.
En regardant Request.Url en déboguer les possibilités je
ou DnsSafeHost Hôte
qui pourrait être utilisé avec
ou AbsolutePath LocalPath ou PathAndQuery
ou j'ai
OriginalString
Ou je peut-être que je pourrais utiliser le referer à la place?
La solution
PathAndQuery vous donne un chemin relatif avec querystring vars de sorte que vous n'avez pas à vous soucier de l'extra « 01 » sur le domaine. Il suffit de traiter les chemins relatifs.
Par curiosité, est votre environnement UAT charge équilibrée? Il semble que votre application est confus quant à quel domaine il est de répondre sur. Cela pourrait (éventuellement) se produire si une demande touche un serveur directement équilibré par rapport au point d'équilibre de la charge ou l'équilibrage de charge demande vers l'avant au domaine spécifique à la machine?
Je demande d'information de votre administrateur réseau. Si vous décrivez ce que vous faites avec beaucoup de détails, surtout que votre application croit parfois il est de répondre sur app-UAT-01, ils pourraient voir la question tout de suite.