gpt4 book ai didi

c# - Response.Redirect 的正确使用方法

转载 作者:太空宇宙 更新时间:2023-11-03 12:46:00 25 4
gpt4 key购买 nike

我遇到了 Response.Redirect 的问题,尽管阅读了大量帖子,但我仍无法解决我的特定问题。

我正在使用的网站通过网络服务与第三方集成。 Web 服务按预期返回结果,之后我们进行一些内务处理,然后重定向到第三方提供的 url。

这是发生了什么:

如果我们收到特定的回复,我们希望通过回复中提供的链接重定向到附属网站

  1. 我们提出请求并收到回复
  2. 我们更新数据库SQL
  3. 我们使用 System.Net Send 发送电子邮件

在上面之后,我们要重定向;

Response.Redirect(resp.RedirectUrl, false);
Context.ApplicationInstance.CompleteRequest();

尽管使用了看似正确的方法,但我的第三方通知我,我们遇到了很高比例的失败重定向。在代码树的更高层,有很多错误捕获,所以当它到达这一点时,应该是简单重定向的情况。

我知道这可能不是我们的全部,并且已经请求了一些模式数据来确定它发生在“谁”和“何时”。

与此同时,我正在努力确保我们的一方尽可能稳健,所以我有几个问题。

  1. 上述方法是否存在根本性错误?
  2. 是否可以使用更好的方法?
  3. 有什么我可以/应该测试的吗

提前致谢。

最佳答案

使用这段代码

Response.Redirect(resp.RedirectUrl, false);
Context.ApplicationInstance.CompleteRequest();

您让您的站点运行和其他可能未经过测试(因为您认为未运行和重定向)或可能有一些空值的代码(线上的其余部分和页面的生命周期事件的其余部分)在那里你会得到异常 - 在实际重定向之前运行的代码上。

尝试使用该代码,停止进一步执行您的程序

Response.Redirect(resp.RedirectUrl, false);
return;

你会得到一个 ThreadAbortException 异常,但你需要通过受控停止来停止程序的进一步运行。

亲戚 Redirect to a page with endResponse to true VS CompleteRequest and security thread

关于c# - Response.Redirect 的正确使用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37294705/

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