C# 如果response.redirect失败,则重定向到页面

C# 如果response.redirect失败,则重定向到页面,c#,C#,我有一个响应。重定向(url)到另一个站点。 如果此操作失败,我应该如何再次重定向到重定向失败页面 请求是从aspx页面后面的代码发送的 我有一个httpmodule。可以用吗 response.redirect(url)告诉浏览器请求“url”,所以您无法控制此url调用在浏览器中是否失败 您可以做的是先对该url执行HTTP GET HEAD以查看是否得到HTTP 200响应,然后执行response.redirect(url)。response.redirect(url)告诉浏览器请求“u

我有一个
响应。重定向(url)
到另一个站点。
如果此操作失败,我应该如何再次重定向到重定向失败页面

  • 请求是从aspx页面后面的代码发送的
  • 我有一个
    httpmodule
    。可以用吗
  • response.redirect(url)告诉浏览器请求“url”,所以您无法控制此url调用在浏览器中是否失败

    您可以做的是先对该url执行HTTP GET HEAD以查看是否得到HTTP 200响应,然后执行response.redirect(url)。

    response.redirect(url)告诉浏览器请求“url”,这样您就无法控制此url调用在浏览器中是否失败


    您可以做的是先对该url执行HTTP GET HEAD以查看是否得到HTTP 200响应,然后执行response.redirect(url)。

    这没有多大意义-如果重定向失败,服务器将如何发现


    重定向告诉浏览器转到另一个页面-如果重定向失败,它会在浏览器上失败,服务器无法知道它。

    这没有多大意义-如果重定向失败,服务器将如何发现


    重定向通知浏览器转到其他页面-如果此操作失败,则浏览器上的重定向失败,服务器无法了解此情况。

    初始重定向转到完全不同的站点,或只是应用程序上的另一个页面?初始重定向转到完全不同的站点,还是你申请的另一页?同意。如果新页面位于OP控件之外的另一个服务器上,那么唯一的方法是先测试该服务器是否可用,然后决定是否重定向或NoNITSCODY:而不是执行HTTP GET,而是考虑执行HTTP头,并保存自己的带宽——@克里斯-因此,不管客户端和服务器。(正常情况下)由于网络完全不同,对网络的看法也不同,服务器端的检查在客户端可能意味着什么?@Oded:正如您试图指出的,完全有可能服务器确实有不同的看法。如果服务器因发出外部请求而被锁定,或者如果网络它所开启的ork的配置方式使某些站点被阻止。这两种情况都是可能的,甚至是可能的。如果是这种情况,那么这个答案将完全失败。但是,如果它足够重要,能够执行此操作,那么我希望OP(可能还有他/她的上司)可能诱使网络管理员允许这些出站请求。@挑剔是http头对带宽使用更有意义。同意。如果新页面位于OP控制之外的其他服务器上,则唯一的方法是首先测试该服务器是否可用,然后决定是否重定向挑剔:而不是执行HTTP GET,考虑执行HTTP头,并保存自己的带宽——@克里斯-所以,不管客户端和服务器(正常情况下)由于网络完全不同,对网络的看法也不同,服务器端的检查在客户端可能意味着什么?@Oded:正如您试图指出的,完全有可能服务器确实有不同的看法。如果服务器因发出外部请求而被锁定,或者如果网络它所开启的ork的配置方式使某些站点被阻止。这两种情况都是可能的,甚至是可能的。如果是这种情况,那么这个答案将完全失败。但是,如果它足够重要,能够执行此操作,那么我希望OP(可能还有他/她的上司)可以诱使网络管理员允许这些出站请求。@挑剔是http头对带宽使用更有意义。不完全正确。您可以捕获它并在捕获中重定向。我认为问题是如何告诉它在没有“响应”的情况下重定向因为对象为空。不完全为真。您可以捕获它并在捕获中重定向。我认为问题在于如何告诉它重定向而不进行“响应”,因为对象为空。