Как подключить Visual Studio 2010 к IIS 7 для отладки пользовательского модуля HttpModule, написанного для существующего стороннего веб-приложения - PullRequest
3 голосов
/ 10 июня 2010

Сначала немного предыстории о том, чего я пытаюсь достичь.

У меня есть клиентское приложение, которое использует сервисы REST, обслуживаемые ArcGIS Server и IIS 7. Я хочу иметь возможность изменить ответ (удалитьили добавить параметры) до того, как ответ будет отправлен клиенту.Поэтому я разрабатываю собственный модуль HttpModule, используя Visual Studio 2010 и .NET 3.5 для перехвата и изменения ответа.

Однако у меня возникают проблемы с отладкой моего пользовательского модуля HttpModule.Я могу подключиться к процессу IIS с помощью Visual Studio 2010, когда он запускается с правами администратора, однако выполнение стороннего веб-приложения не приводит к попаданию ни одной из моих точек останова.Я могу подтвердить, что мой модуль работает, поскольку он может записать содержимое в файл на диске.

На что обратить внимание,

  1. Стороннее веб-приложение работает ввиртуальный каталог (например, arcgis / rest /) на веб-сайте по умолчанию в IIS 7. Он работает в собственном пуле приложений, настроенном для .NET 2.0, а не 4.0.
  2. Пользовательский модуль устанавливается в папку bin веб-приложений и настраивается с использованием файла web.config, а не управления модулями IIS 7.

Подводя итог: Как отладить пользовательский модуль HttpModule, разработанный для менястороннее веб-приложение, использующее Visual Studio 2010?

1 Ответ

1 голос
/ 10 июня 2010

Несколько вещей для проверки:

  • Убедитесь, что у вас правильный процесс.ASP.NET может решить порождать несколько рабочих процессов, особенно если идентификация процесса отличается между apppools и т. Д.

  • Убедитесь, что debug = "true" установлен в элементе компиляции вweb.config для веб-приложения, в котором зарегистрирован модуль

  • Убедитесь, что модуль компилируется в режиме отладки (т. е. генерируются символы отладки).

Приложение вызова не должно иметь значения.Вы сможете проверить это, просто используя веб-браузер, чтобы отправить запрос в virdir, где зарегистрирован модуль.

...