代码之家  ›  专栏  ›  技术社区  ›  Paul Rowland

在不同的环境中,uri.escapedatastring(request.url.absoluteuri)错误,我还应该使用什么?

  •  0
  • Paul Rowland  · 技术社区  · 16 年前

    我正在生成一个返回URL链接,因此当用户点击此页面上的关闭按钮时,他们将返回此返回URL。

    工业工程 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

    注意返回URL参数上的额外01。

    所以要生成我当前使用的返回URL位

    uri.escapedatastring(请求.url.absoluteuri)

    因为我没有直接访问UAT环境的权限,所以我不知道在发布周期结束之前,什么会被定义为有效的,所以如果我能避免第一次出错,那将是有帮助的。

    在调试我所拥有的可能性时查看request.url

    DnsSafeHost或 宿主

    可用于

    AbsolutePath或 本地路径或 路径查询

    或者我有

    原始字符串

    或者我可以用裁判代替?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Corbin March    16 年前

    pathandquery为您提供了一个带有querystring变量的相对路径,因此您不必担心域中的额外“01”。只需处理相对路径。

    出于好奇,您的UAT环境负载是否平衡?您的应用程序似乎对它在哪个域上响应感到困惑。如果一个请求直接命中一个平衡的服务器而不是负载平衡点,或者负载均衡器将请求转发到特定于机器的域,那么(可能)会发生这种情况?

    我会要求你的网络管理员提供信息。如果你详细描述你正在做的事情,特别是你的应用程序有时认为它在应用程序UAT-01上做出了响应,他们可能会马上看到这个问题。