Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Хотя интегрированный конвейер обработки запросов в ядре веб-сервера IIS 7 позволяет разработчикам машинного кода писать http-модули на C++, уведомления о событиях, доступные разработчикам машинного и управляемого кода, не идентичны. Разработчикам, которые переносят модуль HTTP с управляемого языка, такого как C#, на машинный код, придется устранить эти различия при создании новых модулей.
Глобальные уведомления
С помощью IIS 7 разработчики теперь могут создавать HTTP-модули с собственным кодом, обрабатывающие уведомления на глобальном уровне. В предыдущих версиях IIS разработчики могли создавать HTTP-модули, обрабатывающие уведомления только на уровне запроса. Модули HTTP, обрабатывающие уведомления на глобальном уровне, используются для обработки уведомлений для различных событий уровня сервера.
В следующей таблице перечислены глобальные методы уведомлений, доступные разработчикам машинного кода.
| Метод уведомления о событиях | Описание |
|---|---|
| OnGlobalApplicationResolveModules | Вызывается, когда СЛУЖБЫ IIS разрешают зарегистрированные модули. |
| OnGlobalApplicationStart | Вызывается при запуске приложения iis. |
| OnGlobalApplicationStop | Вызывается при выходе iis из приложения. |
| OnGlobalCacheCleanup | Вызывается, когда службы IIS очищают кэш. |
| OnGlobalCacheOperation | Вызывается, когда СЛУЖБЫ IIS выполняют операцию, связанную с кэшем. |
| OnGlobalConfigurationChange | Вызывается при изменении файла конфигурации. |
| OnGlobalCustomNotification | Вызывается, когда модуль создает определяемое пользователем уведомление. |
| OnGlobalFileChange | Вызывается при изменении файла на веб-сайте. |
| OnGlobalHealthCheck | Вызывается при выполнении операции, связанной со работоспособностью. |
| OnGlobalPreBeginRequest | Вызывается перед поступлением запроса в интегрированный конвейер обработки запросов. |
| OnGlobalRSCAQuery | Вызывается при выполнении запроса состояния Run-Time и элемента управления. |
| OnGlobalStopListening | Вызывается, когда СЛУЖБЫ IIS перестают принимать новые запросы. |
| OnGlobalThreadCleanup | Вызывается, когда СЛУЖБЫ IIS возвращают поток в пул потоков. |
| OnGlobalTraceEvent | Вызывается при возникновении события трассировки. |
Сравнение уведомлений о запросах
Хотя методы уведомления о запросах для модулей HTTP в машинном и управляемом коде во многом похожи, они не полностью аналогичны. Например, список детерминированных методов уведомления о запросах практически идентичен для модулей машинного и управляемого кода, но список недетерминированных методов уведомления о запросах сильно отличается.
Уведомления Native-Code детерминированных запросов
В следующей таблице перечислены детерминированные методы уведомления о запросах, доступные разработчикам машинного кода.
| Метод уведомления о событиях | Метод уведомления о событиях после события |
|---|---|
| OnBeginRequest | OnPostBeginRequest |
| OnAuthenticateRequest | OnPostAuthenticateRequest |
| OnAuthorizeRequest | OnPostAuthorizeRequest |
| OnResolveRequestCache | OnPostResolveRequestCache |
| OnMapRequestHandler | OnPostMapRequestHandler |
| OnAcquireRequestState | OnPostAcquireRequestState |
| OnPreExecuteRequestHandler | OnPostPreExecuteRequestHandler |
| OnExecuteRequestHandler | OnPostExecuteRequestHandler |
| OnReleaseRequestState | OnPostReleaseRequestState |
| OnUpdateRequestCache | OnPostUpdateRequestCache |
| OnLogRequest | OnPostLogRequest |
| OnEndRequest | OnPostEndRequest |
Уведомления Managed-Code детерминированных запросов
В следующей таблице перечислены детерминированные методы уведомления о запросах, доступные разработчикам управляемого кода.
| Метод уведомления о событиях | Метод уведомления о событиях после события |
|---|---|
| BeginRequest | (нет) |
| AuthenticateRequest | PostAuthenticateRequest |
| AuthorizeRequest | PostAuthorizeRequest |
| ResolveRequestCache | PostResolveRequestCache |
| MapRequestHandler | PostMapRequestHandler |
| AcquireRequestState | PostAcquireRequestState |
| PreRequestHandlerExecute | (нет) |
| RequestHandlerExecute | PostRequestHandlerExecute |
| ReleaseRequestState | PostReleaseRequestState |
| UpdateRequestCache | PostUpdateRequestCache |
| LogRequest | PostLogRequest |
| EndRequest | (нет) |
Native-Code недетерминированные уведомления о запросах
В следующей таблице перечислены недетерминированные методы уведомления о запросах, доступные разработчикам машинного кода.
| Метод уведомления о событиях | Метод уведомления о событиях после события |
|---|---|
| OnAsyncCompletion | (нет) |
| OnCustomRequestNotification | (нет) |
| OnMapPath | (нет) |
| OnReadEntity | (нет) |
| OnSendResponse | (нет) |
Managed-Code недетерминированные уведомления о запросах
В следующей таблице перечислены недетерминированные методы уведомления о запросах, доступные разработчикам управляемого кода.
| Метод уведомления о событиях | Метод уведомления о событиях после события |
|---|---|
| PreSendRequestHeaders | (нет) |
| PreSendRequestContent | (нет) |
См. также:
Создание Native-Code http-модулей
Проектирование Native-Code http-модулей