Mod_mono игнорирует global.asax и httpmodules

Я пытаюсь переместить веб-сайт из IIS в комбинацию mod_mono & apache2, и большая часть сайта уже запущена. Однако мне нужен какой-то способ настройки обработчиков событий для необработанных исключений для ведения журнала, а также много переписывания URL-адресов, которые я люблю делать в httpmodules.

Код отлично работает на IIS. Целевой фреймворк -.NET 4.0, а код - в основном VB.NET. Но на моей установке Linux кажется, что ни один из методов никогда не вызывается. Не инициализируйте в моих модулях http или в любых обработчиках, которые должны были быть зарегистрированы через это.
Методы в Global.asax, похоже, также игнорируются.

Для справки, я работаю в Ubuntu Saucy Salamander. Я собираю свой веб-сайт в пакет развертывания с функцией публикации веб-сайтов в Visual Studio, и Apache говорит:
Информация о версии: Mono Runtime Version: 2.10.8.1 (Debian 2.10.8.1-5ubuntu2); ASP.NET версия: 4.0.30319.1

Кроме того, для web.config у меня есть httpmodules, добавленные в system.web и system.webServer как таковые:

  <system.web>
    ...
    <httpModules>
      <add name="SiteModule" type="Sitemodule"/>
      ...
    </httpModules>
  </system.web>

  <system.webServer>
    <modules>
      <add name="SiteModule" type="SiteModule"/>
      ...
    </modules>
    ...
  </system.webServer>

Итак, что может быть причиной такого поведения? Неправильно ли настроен сервер, или код веб-сайта нуждается в некоторых изменениях, чтобы соответствовать новой среде?

1 ответ

Вы нашли ответ на свой вопрос?

Я только что попробовал нечто подобное... Я развернул файл Global.asax в корне сети и перезапустил службу apache, и она просто заработала. Я вручную копирую файлы на веб-сервер, а не использую опцию VS deploy.

FWIW: Ubuntu 12.04.5 LTS, с моно 3.6.0, .NET 4.0, C#

Другие вопросы по тегам