我如何使用Global.asax并为它实现处理程序?

时间:2011-03-31 10:34:55

标签: asp.net global-asax

我有一个Global.ascx,我写了一个简单的url writer模块:

void Application_BeginRequest(object sender, EventArgs e)
{
    try
    {
        string strPath = Context.Request.Url.AbsoluteUri;
        string[] sections = strPath.Split('/');
        int len = sections.Length;
        string strExtention = sections[len - 1].Split('.')[1];
        if (strExtention.ToLower().TrimEnd().Equals("xml"))
        {
            if (sections[len - 2].Equals("ATM"))
                Context.RewritePath("~/Include/XML Files/Orders/TMP/" + sections[len - 1]);
            else
                Context.RewritePath("~/Include/XML Files/Orders/" + sections[len - 1]);
        }
    }
    catch
    {
    }
}

它在本地工作但它在主机中不起作用我怎么能为此实现处理程序?

Server.Transfer也不起作用。

1 个答案:

答案 0 :(得分:1)

你走下模块的路线是对的。但是,不是Context.RewritePath()使用Response.Redirect(),而是简单地向浏览器返回3xx消息,该消息将其请求重定向到新URL。这应该适用于任何实施的地方。