【问题标题】:ASP.NET site redirecting one domain to anotherASP.NET 站点将一个域重定向到另一个域
【发布时间】:2021-12-27 20:33:55
【问题描述】:

使用 asp.net Global.asax 将一个域重定向到另一个域有多安全?

void Application_BeginRequest(Object source, EventArgs e)
{
    if (HttpContext.Current.Request.Url.AbsoluteUri.Trim().ToLower().Contains("mydomainb.net"))
    {
        HttpContext.Current.Response.Redirect("http://www.myrealdomainSample.com");
    }        
}

上面的代码会使网站过载吗?

【问题讨论】:

  • 为什么不在 web.config 中使用 IIS 的 URLRewriter 来代替呢?
  • 如果站点收到的请求超出其处理能力,则会超载。重定向不会使任何东西过载。这完全取决于收到了多少请求。您担心哪个网站超载?
  • 谢谢戴。并且也感谢 Scott Hannen 的回复,我想我提到重载站点时问错了,我想知道的是,如果您是专家,建议使用 Global.asax 从一个站点重定向到另一个站点,否则会是什么在这种情况下最好的编码。再次感谢

标签: c# asp.net


【解决方案1】:

Response.Redirect() 实际上调用了Response.End() 方法,这将直接中止当前线程。

如果您正在寻找一种“安全”的方式来截断HttpRequest,这意味着它可以通过使用HttpApplication.CompleteRequest() 来实现截断而不抛出异常(请注意,这将导致进一步的代码执行在当前请求中)

【讨论】:

  • 啊,是的,我忘记了Response.End() 的可怕实现。究竟谁认为将ThreadAbortException 作为正常程序流程的一部分 是个好主意?
  • 谢谢戴,这对我来说是一个学习曲线,我会尽我最大的努力编写干净的代码,你会推荐使用 Global.asax 将一个站点重定向到另一个站点吗?在我的情况下,最好的实现是什么,我正在努力使代码尽可能干净和更好,以避免未来的麻烦。
猜你喜欢
  • 2014-03-07
  • 2020-05-04
  • 2014-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多