Проблемы с собственным модулем IIS7 - PullRequest
2 голосов
/ 22 ноября 2010

Я разрабатываю небольшой собственный модуль IIS7.

Кажется, я не могу получить никакого вывода, когда делаю запросы к страницам в IIS.

Итак, я сделал шаг назад, пытаясь сначала заставить работать один из примеров msdn,Проблема в том, что я тоже не могу получить никакого вывода ...

Пример здесь:

http://msdn.microsoft.com/en-us/library/ms693622(VS.90).aspx

Я сделал следующее:

.Убедитесь, что я экспортировал RegisterModule

.Построил модуль как Win32 dll

.Добавлен тестовый сайт с web.config и страницей test.aspx, которая просто отображает «hello world»

.Добавлен собственный модуль в IIS на уровне сервера с использованием интерфейса IIS gui

.Для моего модуля добавлено отображение обработчика на уровне сайта для "* .aspx", все глаголы.

.Перезапущенный IIS

Я вижу, что мой файл web.config был обновлен и теперь включает:

<system.webServer>
    <handlers>
        <add name="EndRequestModule" path="*.aspx" verb="*" modules="MyHttpModule" scriptProcessor="<REALPATHISINHERE>\endRequestModule.dll" resourceType="Unspecified" preCondition="bitness32" />
    </handlers>
</system.webServer>

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

Я также добавил несколько вызовов «OutputDebugString», чтобы попытаться увидеть, когда модули загружаются или отвечают на запросы, но я также не вижу там никакого вывода, что заставляет меня думать, что я что-то упускаю в конфигурации....

Я использую Windows 7 Ultimate x64 и VS2010 - нужно ли устанавливать какие-либо дополнительные функции или выполнять другие настройки (возможно, между x86 и x64), потому что это не сервер os?

Любые мысли о том, чего мне не хватает, приветствуются.

Спасибо.

1 Ответ

2 голосов
/ 23 ноября 2010

Исправлено.

Нет необходимости в отображениях обработчиков, если вам не нужно специально фильтровать, достаточно установить модули на уровне сервера, а затем удалить на уровне сайта для сайтов, которые не нуждаются в вашем модуле.

Расширенные настройки пула приложений в IIS - установите для параметра Включить 32-разрядные приложения значение ИСТИНА для проверки POC.

Затем пересоберите DLL для платформы x64, удалите существующий модуль, установите модуль x64, установите для параметра Включить 32-разрядные приложения значение FALSE и протестируйте модуль x64.

Вызовы OutputDebugString теперь отображаются и в DbgView.

...