gpt4 book ai didi

c# - 尝试 Response.Redirect 的正确方法是什么?

转载 作者:行者123 更新时间:2023-11-28 05:01:55 26 4
gpt4 key购买 nike

我想重定向到一个 url,但如果失败我会收到通知。

据我所知,简单的 try-catch block 在这里不起作用,因为重定向总是 会引发异常。虽然我可以检查该异常 (ThreadAbortException),但这是最好的方法吗?

编辑:我正在尝试重定向到某个 url,如果它不存在 - 到另一个 url。

最佳答案

由于重定向是客户端操作(服务器只是发送带有代码 302 的响应,并且 header location 设置为重定向目标),您不能期望服务器端 Request.Redirect 调用如果重定向在客户端上成功(或者即使它会被遵循),也会给你任何指示。

你的选择:

  • 接受它
  • 如果重定向是本地的,您至少可以验证本地路径是否存在(或者是否使用 ysing MVC - 如果定义了具有给定参数的路由)。
  • 如果重定向是远程的,您可以先尝试在服务器上发出请求,然后查看响应是否合理(例如“不是 404”)。

不幸的是,所有用于查看目标页面是否存在的服务器端选项都有严重的缺陷:

  • 检查 Url 操作可能很慢
  • 您将无法将身份验证信息/cookies 传递到远程位置的页面
  • 有些服务器以 200 响应“页面确实不存在,请到其他地方查找”。

关于c# - 尝试 Response.Redirect 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790921/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com