Application_BeginRequest(Global.asax)中的查询数据库

时间:2012-03-23 13:06:12

标签: c# asp.net sql sql-server

我正在尝试从Global.asax文件中的Application_BeginRequest查询数据库,以便从数据库而不是纯代码中获取当前的301。

但是我似乎无法找到如何做到这一点,我无法编写SqlConnection或类似的东西,就像我习惯于在我即将开始SQL查询时。

甚至可以获得这种类型的代码:

if (Request.Url.ToString() == "http://www.mywebsite.com")
    {
        Response.Status = "301 Moved Permanently";
        Response.AddHeader("Location", "http://www.mywebsite.org");
    }

从数据库生成?如果是这样,我该怎么做?我试图搜索,但我似乎找不到任何解决我的问题的方法。答案将非常感谢!

/卢卡斯

2 个答案:

答案 0 :(得分:0)

应该是可能的,是的。您可以执行以下操作:

  • 从您的表中选择一个url等于的行 Request.Url.ToString()

  • 如果返回一行,则表示您需要重定向。

  • 从行中获取新网址并使用该网址中的新网址 Response.AddHeader致电

答案 1 :(得分:0)

您已编写正确的代码,您可以继续并实施SQLCommand以从数据库中获取数据

e.g。

//Write SQLCommand to get the data in url variable, suppose you have GetDataFromDatabase method written in your helper static class or somewhere else in the page gives stored url from database

string url = GetDataFromDatabase();

if (Request.Url.ToString().ToLower().Equals(url.ToLower()))
{
    Response.Status = "301 Moved Permanently";
    Response.AddHeader("Location", url);
}