Почему обработчики событий могут только быть связаны с событиями HttpApplication во время инициализации IHttpModule?

Это - просто другая "работа в dev сервере, почему не работа в IIS" вводит вопрос.

Я создал хороший DAL с помощью NHibernate, как описано здесь. При создании ISession я поднимаю трубку обработчик событий к HttpApplication. EndRequest для заботы о чистке его.

Однако я развернул свой сайт на IIS, и он говорит:

Обработчики событий могут только быть связаны с событиями HttpApplication во время инициализации IHttpModule.

Я полностью понимаю то, что говорит сообщение, но я не могу undestrand почему.

Я могу подписаться на a Buttonсобытие в какое-либо время, почему я не могу подписаться на событие HttpApplication?

Я был бы очень благодарен, если кто-то мог бы пролить некоторый свет на это.

И я также задаюсь вопросом, почему это работает с сервером разработки а не с IIS 7?

Править: Теперь, когда два месяца передали, я все еще не получил полезных ответов. :(
Эта проблема - действительно это трудно?

10
задан Community 23 May 2017 в 12:04
поделиться

2 ответа

Вы пытаетесь использовать HttpApplication вне его конвейера инициализации. Просто не делай этого. Как говорится в ошибке, привяжите свои события во время инициализации IHttpModule.

4
ответ дан 4 December 2019 в 04:01
поделиться

Потому что в IIS7 есть некоторые изменения в том, как запускается HTTP-приложение (в основном, рабочий процесс, связанный с HTTP-приложением).

Посмотрите на http://n2cms.codeplex.com/Thread/View.aspx?ThreadId=38311.

Если вы запустите IIS7 в классическом режиме или в интегрированном режиме со следующими элементами в web.config, он должен работать нормально:

<configuration>
   <system.webServer>
      <validation validateIntegratedModeConfiguration="false"/>
   </system.webServer>
</configuration>

(взято из http://code.google.com/p/n2cms/source/browse/trunk/src/wwwroot/Web.config)

0
ответ дан 4 December 2019 в 04:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: