Uri。EscapeDataString(请求。网址。AbsoluteUri)是错误的,在不同的环境中,还有什么我应该使用?

StackOverflow https://stackoverflow.com/questions/360918

我产生返回url链接,以便在用户的关闭页上的按钮,他们回到这个ReturnUrl.

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

注意到额外的01在ReturnUrl参数。

因此产生的ReturnUrl位目前,我正在使用

Uri。EscapeDataString(请求。网址。AbsoluteUri)

因为我没有直接访问uat环境我不知道什么会肯定工作,直到后释放的循环,所以如果我可以避免让错误的第一时间,这将是有帮助的。

在寻找请求。Url在调试的可能性,我有

DnsSafeHost或 主机

这可能是用

AbsolutePath或 LocalPath或 PathAndQuery

或者我

OriginalString

或者我也许我可以使用的参考,而不是?

有帮助吗?

解决方案

PathAndQuery给你一个相对路径与查询字符串瓦尔,所以你不必担心额外的“01”的域名。只是处理相对路径。

出于好奇,是你的UAT环境负载均衡?看来,您的应用程序困惑,它的响应在哪个域。这可以(可能)发生,如果一个请求直射平衡服务器与使用负载平衡点或负载平衡器将请求转发到特定于机器的域

我会向您的网络管理员信息。如果你描述你做了非常详细的,尤其是你的应用程序有时会认为它的响应在APP-UAT-01,他们可能会看到这个问题的时候了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top