ASP.NET: Что делает этот HttpModule? Система. ServiceModel. Активация. HttpModule

Кто-либо может сказать мне цель этого HttpModule? Это обнаруживается в моем списке HttpModuleCollection, но я не знаю то, что, это для.

System.ServiceModel.Activation.HttpModule

Я не могу найти документацию относительно него.

8
задан UpTheCreek 31 May 2010 в 09:08
поделиться

3 ответа

System.ServiceModel.Activation.HttpModule возникают из-за того, что вы установили функцию "Microsoft .NET Framework 3.5.1" / "Windows Communication Foundation HTTP Activation". Если вам не нужна эта функция, вы можете удалить ее или удалить модуль из вашего web.config. Чем меньше неиспользуемых модулей вы загружаете, тем быстрее работает ваше веб-приложение.

Если вы установите эту функцию после установки фреймворка .NET 4 на ваш сервер, вы можете получить проблемы, описанные в http://blogs.iis.net/webtopics/archive/2010/04/28/system-typeloadexception-for-system-servicemodel-activation-httpmodule-in-asp-net-4.aspx.

В общем случае модуль HTTP вызывается при каждом запросе в ответ на события BeginRequest() и EndRequest(). В результате модуль запускается до и после обработки запроса. В разделе "Как работают HTTP-модули" на http://msdn.microsoft.com/en-us/library/bb398986(v=VS.100).aspx вы можете прочитать больше о HTTP-модулях. На

http://msdn.microsoft.com/en-us/library/ms227673.aspx описано, как создать пользовательский HTTP-модуль. Некоторые небольшие пользовательские модули могут быть действительно полезны. Например, в Как удалить расширение ".svc" в RESTful WCF сервисе? вы можете прочитать пример кода (который взят из книги "RESTful .NET", глава 5, страница 96) "Удаление расширения .SVC из WCF REST URLs". В http://www.west-wind.com/weblog/posts/570695.aspx вы можете прочитать, как сделать то же самое в отношении "IIS 7 Rewrite Module".

Общая информация о HTTP модуле не является частью вашего вопроса, но я вставил ее для лучшего понимания того, что делает Activation.HttpModule, и какие другие более полезные модули вы можете использовать или написать самостоятельно.

11
ответ дан 5 December 2019 в 14:00
поделиться

http-модуль - это сборка .net, которая вызывается каждый раз, когда ваше веб-приложение получает запрос. Это стандартный модуль, который предоставляет asp.net и который соединяет код вашего веб-приложения .net с веб-инфраструктурой IIS.

См. здесь для объяснения.

HTTP-модули

HTTP-модуль - это сборка, которая вызывается при каждом запросе. вызывается при каждом запросе, который делается к вашему приложению. HTTP-модули вызываются как часть конвейера запросов и имеют доступ к событиям жизненного цикла на протяжении всего запроса. HTTP-модули таким образом, позволяют вам изучать входящие запросы и предпринимать действия, основанные на запроса. Они также позволяют изучать исходящий ответ и изменять его.

В IIS 6.0 конвейер запросов ASP.NET отделен от конвейера запросов Web конвейера запросов сервера. В IIS 7.0, конвейер запросов ASP.NET и конвейер запросов ASP.NET и конвейер запросов веб-сервера могут быть интегрированы в общий конвейер запросов конвейер. В IIS 7.0 это называется как интегрированный режим. Объединенный конвейер имеет ряд преимуществ для разработчиков ASP.NET. Например, он позволяет модулям управляемого кода получать уведомления о конвейере для всех запросов, даже если эти запросы не к ресурсам ASP.NET. Однако, если вы хотите, вы можете запустить IIS 7.0 в режиме Classic режиме, который эмулирует ASP.NET, работающий в IIS 6.0. Для получения дополнительной информации см. Жизненный цикл приложения ASP.NET Обзор для IIS 7.0.

HTTP-модули ASP.NET похожи на ISAPI фильтры, поскольку они вызываются для всех запросов. Однако они написаны в управляемом коде и полностью интегрированы в жизненный цикл ASP.NET. Вы можете поместить исходный код пользовательского модуля в App_Code папки вашего приложения, или вы можете поместить скомпилированные пользовательские модули в виде сборок в папку Bin приложения. приложения.

ASP.NET использует модули для реализации различных функций приложения, которые включая аутентификацию форм, кэширование, состояние сеанса и клиентские службы сценариев. В каждом случае, когда эти службы включены, модуль вызывается как часть запроса и выполняет задачи, которые выходят за рамки рамки отдельного запроса страницы. Модули могут потреблять события приложения и могут вызывать события, которые могут быть обрабатываться в файле Global.asax. Для более подробную информацию о приложениях событиях, смотрите ASP.NET Application Life Обзор жизненного цикла приложений ASP.NET для IIS 5.0 и 6.0 и ASP.NET Application Life Cycle Обзор для IIS 7.0.

-3
ответ дан 5 December 2019 в 14:00
поделиться

Этот модуль позволяет работать службам WCF (Windows Communication Foundation) (начиная с .NET Framework 3.0).

Вы можете спокойно игнорировать это, и это не должно вызвать проблем. Если вы действительно хотите избавиться от него, вы можете удалить его из корневого файла web.config (например, в \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ web.config). Но я предлагаю оставить его там на тот случай, если в какой-то момент вам понадобится WCF.

4
ответ дан 5 December 2019 в 14:00
поделиться
Другие вопросы по тегам:

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