2009-09-02 1 views
6

У меня есть старое веб-приложение asp.net, основанное на .net framework 1.1, оно было развернуто на сервере в течение многих лет, прямо сейчас у меня возникают некоторые проблемы с только в реальном времени, версия разработки на моем рабочем столе отлично работает. Поэтому я думаю о подключении удаленного отладчика к текущему сайту и отслеживанию того, что произошло именно на реальном сервере, но я не знаю, как это сделать.Как отлаживать приложение asp.net на реальном сервере

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

Большое спасибо за вашу помощь!

+0

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

+0

В основном, в реальном времени сервер внезапно получает довольно высокую загрузку процессора для процесса w3wp, и мы обнаружили, что предположим, что некоторые HTTPwebrequest отправляют по приложению, прекращают отправку или получение, многие CLOSE_WAIT-соединения там, но нет активного соединения. Благодарю. – user167466

ответ

6

Ну да, возможно, но более активно. Вам нужно будет подключиться к рабочему процессу IIS с веб-сайтом (w3wp.exe). Я не делал этого очень часто, и я обычно стараюсь избегать этого, потому что, пока вы привязаны, никто не может получить доступ к веб-сайту.

Настоящая статья объясняет процесс.

http://www.codeproject.com/KB/aspnet/ProcessAttache.aspx

Статья основана на 2.0 не 1.1, но она должна еще дать вам представление о том, как это сделать. Я полагаю, вам придется иметь визуальную студию на сервере производства.

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

Возможно, вы захотите проверить log4net, что является бесплатным приложением регистрации.

удачи

+0

Большое спасибо за помощь. Я проверил статью, вы правы, это не лучший подход для мониторинга живого сайта. Я попытаюсь добавить запись в подозрительную часть кода. Также я использую DebugDiag, чтобы получить некоторую информацию, но мне сложно связать ее с моим кодом. – user167466

6

Ну, почему бы вам не попробовать включить трассировку на сервере? Затем вы можете просмотреть всю информацию на отдельной странице? Чтобы включить в web.config:

<configuration> 
    <system.web> 
    <trace enabled="true" pageOutput="false" requestLimit="40" 
     localOnly="false"/> 
    </system.web> 
</configuration> 

Затем загрузите страницу trace.axd на своем веб-сайте, чтобы просмотреть данные уровня страницы.

+0

Большое спасибо за ответ. Я не уверен, что только включить трассировку даст мне достаточно информации, чтобы выяснить, какая проблема с тайм-аутом, я хотел бы знать, где и когда произошел этот тайм-аут. что именно они ждут. Знаете ли вы, как я могу подключить отладчик к серверу? Должен ли я устанавливать компоненты VS.net 2003 на live-сервере, чтобы включить debug? Благодарю. – user167466