2013-05-29 5 views
0

Я попытался переписать URL в виде .aspx страницы, но я найти все времена эту ошибку:URL переписан в ошибке ASP.NET IIS

ошибка 500.23: Конфигурация ASP.NET HttpHandlers не применяются в режиме управляемого трубопровода.

Предпосылка: Я использую Visual Studio 2012 и C#

файл web.config:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.web> 
     <httpHandlers> 
      <add verb="*" path="viaggi/*.aspx" type="mioRewrite, mioRewrite"/> 
     </httpHandlers> 
     <compilation debug="true" targetFramework="4.5" /> 
     <httpRuntime targetFramework="4.5" /> 
    </system.web> 
    <appSettings> 
     <add key="strConn" value="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\db_viaggi.mdf;Integrated Security=True" /> 
    </appSettings> 
</configuration> 

класс mioRewrite наследуется классом IHttpHandlerFactory

public class mioRewrite : IHttpHandlerFactory 
{ 
    public IHttpHandler GetHandler(HttpContext context, string requestType, string URL, string pathTranslated) 
    { 
     classe HttpContext 
     context.Items["fileName"] = Path.GetFileNameWithoutExtension(URL).ToLower(); 

     return PageParser.GetCompiledPageInstance(URL, context.Server.MapPath("viaggi.aspx"), context); 
    } 

    public void ReleaseHandler(IHttpHandler handler) { } 
} 

Я использовал этот метод, потому что некоторые образцы говорят об этом.

Что я должен сделать, чтобы решить эту ошибку, и для создания метода перезаписи URL?

ответ

2

Ошибка дает вам свой ключ. Вместо запуска IIS в интегрированном режиме его нужно запускать в классическом режиме.

Интересно, что это проблема, с которой моя компания открыла билет для Microsoft. Инженеры IIS подтвердили, что он оказался ошибкой и не смог предоставить разрешение. IF с использованием маршрутов без продолжения и правил перезаписи, мы должны были оставить IIS в классическом режиме.

Если работает в IISExpress и не полный IIS, вы можете изменить на классический режим для применения со следующими шагами:

  1. Нажмите на веб-проект в обозревателе решений
  2. Нажмите F4, чтобы получить появится страница свойств. Вам не нужна полная страница свойств свойств нескольких вкладок, а скорее небольшое окно свойств.
  3. Найти «Managed Mode» Pipeline выпадающего меню и изменить это «Классический»
+0

Где я могу изменить интегрированный режим в классическом режиме? –

+0

@GianmarcoSpinaci Я обновил свой ответ с помощью инструкций IISExpress –

Смежные вопросы