Перенаправление http-трафика в приложении ASP.NET
Я хотел бы перенаправить трафик в запросе HTTP с одного сервера на другой на веб-сайте ASP.NET. Я пытался сделать это, используя модуль http или http-обработчик. Это жизнеспособные варианты для моего случая, или у кого-то есть лучшая рекомендация? Это приложение использует.NET 4.0 Framework и размещено на IIS6.
1 ответ
В дополнение к комментарию, приведенному выше, я хотел предоставить небольшой фрагмент кода. Вы должны быть в состоянии сделать это в вашем HTTPModule с Response.Redirect. Я не уверен на 100%, но считаю, что метод RewritePath может выдать исключение, не поддерживаемое платформой, в IIS6. IIS6 определенно поддерживает Response.Redirect, к счастью.
Идите вперед обработчик для начала запроса:
{
context.BeginRequest += new EventHandler(MyBeginRequestMethod);
}
Затем в вашем методе начала запроса:
HttpApplication application = (HttpApplication)sender;
HttpContext context = application.Context;
if(context.Request.FilePath.Contains("someresource"))
{
context.Response.Redirect("http://www.google.com");
}
Очевидно, что вы сможете сделать более полный поиск контента и более полное перенаправление таким образом.