【发布时间】:2016-05-18 08:55:11
【问题描述】:
我在使用 Response.Redirect 时遇到问题,尽管阅读了大量帖子,但我仍然无法解决我的特定问题。
我正在开发的网站通过网络服务与第三方集成。 Web 服务按预期返回结果,然后我们做一些整理工作,然后重定向到第三方提供的 url。
发生了什么:
如果我们收到特定的回复,我们希望通过回复中提供的链接重定向到附属网站
- 我们提出请求并收到响应
- 我们更新数据库 SQL
- 我们使用 System.Net Send 发送电子邮件
经过上述,我们要重定向;
Response.Redirect(resp.RedirectUrl, false);
Context.ApplicationInstance.CompleteRequest();
尽管使用了看似正确的方法,但我的第三方告诉我,我们收到的重定向失败率很高。在代码树的较高位置,有很多错误捕获,所以当它到达这一点时,它应该是简单重定向的情况。
我知道这可能不会全部结束,并且已经请求了一些模式数据来确定它发生的“谁”和“何时”。
与此同时,我正在努力确保我们这边尽可能强大,所以我有几个问题。
- 上述方法有什么根本错误吗?
- 是否可以使用更好的方法?
- 有什么我可以/应该测试的东西
提前致谢。
【问题讨论】:
-
您传递给重定向请求的 url 似乎存在问题,而不是重定向请求本身。如果您确定从 Web 服务传递了正确的 url,那么这似乎是第 3 方的问题。
-
你需要Context.ApplicationInstance.CompleteRequest();称呼?试试没有那个可能吗?我看不出你在做什么真的有什么问题。我的猜测是问题在他们的最后。
-
@anothershrubery - 我只是在检查以确保它是有效的 Uri - 我知道它本身不会阻止您描述的问题,但它会过滤掉任何格式错误的 url。
-
@TerryDelahunt - 我们根据遇到类似问题的其他帖子更新了重定向代码 - 在我们的案例中,它似乎没有添加任何内容。
标签: c# asp.net response.redirect