Добавьте приложение MVC 2 на сайт Nancy в IIS 7

В IIS 7 я создал веб-сайт, используя проект Нэнси. Затем я добавил на сайт приложение MVC 2, используя псевдоним api. Я могу отлично посещать определенные маршруты в проекте Нэнси. Однако, когда я посещаю /api, я получаю следующую ошибку:

Could not load type 'Nancy.Hosting.Aspnet.NancyHttpRequestHandler'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Web.HttpException: Could not load type 'Nancy.Hosting.Aspnet.NancyHttpRequestHandler'.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 

[HttpException (0x80004005): Could not load type 'Nancy.Hosting.Aspnet.NancyHttpRequestHandler'.]
   System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +11588073
   System.Web.Configuration.HandlerFactoryCache.GetTypeWithAssert(String type) +47
   System.Web.Configuration.HandlerFactoryCache.GetHandlerType(String type) +18
   System.Web.Configuration.HandlerFactoryCache..ctor(String type) +27
   System.Web.HttpApplication.GetFactory(String type) +95
   System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +352
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +375

Похоже, приложение MVC 2 пытается использовать NancyHttpRequestHandler для обработки запроса. Я говорю это, потому что маршруты, которые не определены в приложении Nancy, отображают страницу 404.

Я пробовал несколько вещей:

  1. К Web.configприложения MVC 2 я добавил следующее в блок <system.web/>:

    <httpHandlers>
      <add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </httpHandlers>
    
  2. В Web.configприложения Нэнси я добавил следующее в блок <system.web/>:

    <httpHandlers>
      <add verb="*" type="Nancy.Hosting.Aspnet.NancyHttpRequestHandler" path="*" />
      <remove verb="*" path="api/*" />
    </httpHandlers>
    
  3. Я также пробовал играть с настройками в блоках <system.webServer/>и <system.serviceModel/>в обоих приложениях.

Как я могу заставить приложение MVC 2 работать правильно, когда оно встроено в сайт Нэнси в IIS 7? Мы будем очень признательны за любые рекомендации.

6
задан Andrew Ashbacher 15 August 2012 в 16:25
поделиться