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#