Как запустить aspnet_wp.exe без запуска события Application_Start - PullRequest
1 голос
/ 12 января 2009

Я пытаюсь отладить веб-сервис (Windows XP SP3, VS 2008, ASP.NET 2, VB.NET).

В большинстве случаев, если рабочий процесс asp.net уже загружен, я могу запустить форму Windows, которая вызывает веб-службу, подключиться к aspnet_wp.exe в Visual Studio, а затем выполнить отладку до глубины души, но ловит событие запуска приложения в global.asax - это боль.

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

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

Есть идеи для чего-нибудь более аккуратного? Вид «Присоединиться к процессу, как только он начнется».

Еще лучше, конечно, не присоединять явно к aspnet_wp.exe, чтобы иметь возможность отлаживать веб-сервис, но я также не нашел способа сделать это .

Спасибо за любые предложения.

1 Ответ

3 голосов
/ 12 января 2009

Попробуйте добавить это в событие запуска приложения, оно должно пнуть ваш отладчик каждый раз. Просто убедитесь, что вынули его, когда закончите: -).

System.Diagnostics.Debugger.Launch()

Или, еще лучше, при запуске вашего WebService:

Protected Overrides Sub OnStart(ByVal args() As String)
    ' Add code here to start your service. This method should set things
    ' in motion so your service can do its work.
    System.Diagnostics.Debugger.Launch()
End Sub

Обновление: добавление этого комментария к ответу, так как это хорошая идея:

Оберните это в # если отладка, и это немного безопаснее (не поскальзывается так катастрофически в тест / производство сред). - sliderhouserules

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...