2017-02-02 10 views
0

Я хочу, чтобы IIS перенаправлял URL-адрес в зависимости от настроек локали, которые я получаю из браузера. Я читал о переписывании таблиц, но я думаю, что это не правильный способ решить эту проблему. Конфигурация этой функциональности должна быть только внутри IIS, но я открыт для других предложений.IIS Перенаправление на URL-адрес в зависимости от настроек локали из информации браузера

ответ

0

Создать класс, который реализует IHttpModule, а затем перенаправить, основанный на Request.UserLanguages ​​дорожим Вы получаете:

public class MyModule : IHttpModule{ 
    public void Init(HttpApplication application){ 
     application.BeginRequest += 
     (new EventHandler(this.Application_BeginRequest)); 
    application.EndRequest += 
     (new EventHandler(this.Application_EndRequest)); 
} 

private void Application_BeginRequest(Object source, 
    EventArgs e) 
{ 
    HttpApplication application = (HttpApplication)source; 
    HttpContext context = application.Context; 
    var userLanguages = context.Request.UserLanguages; 
    // Do something here based on the user languages 
} 

private void Application_EndRequest(Object source, EventArgs e) 
{} 
} 

Затем зарегистрировать его в web.config

<configuration> 
    <system.web> 
<httpModules><add name="MyModule" type="MyModule"/></httpModules> 
    </system.web> 
</configuration> 
+0

Большое спасибо Джош, который помог я действительно вышел. –