В моем проекте я создал веб-приложение с веб-сервисом. В том же решении я добавил еще одно веб-приложение. Я использую веб-сервис из этого приложения. Я добавил веб-ссылку, используя ссылку на веб-ссылку, используя опцию веб-ссылки. Я хочу отладить прокси-класс, сгенерированный (когда я добавляю веб-ссылку). Я поместил отладчик в прокси-класс, но он не работал. Затем я скопировал класс прокси и создал новый класс в клиентском веб-приложении с тем же самым и тем же контентом и удалил веб-ссылку. Но все же я не могу отлаживать прокси-класс. Как я могу отладить прокси-класс? Пожалуйста, помогите.
Прокси-сервер отладки веб-службы в С#
Ответ 1
Попробуйте удалить [DebuggerStepThroughAttribute()]
из сгенерированного кода
Ответ 2
В Visual Studio 2010 вы можете установить точку останова (что вы, очевидно, пробовали). Но попробуйте запустить решение для веб-сервисов, щелкнув правой кнопкой мыши на своем приложении, выбрав debug и нажмите новый запуск нового экземпляра.
Отладка находится чуть ниже установленного параметра для запуска проекта
Ответ 3
Как обычно я это делаю, это локальное размещение клиентского приложения и веб-хостинга в IIS. У вас должно быть два виртуальных каталога приложений. Используйте отдельный пул приложений для каждого приложения. Когда успешный запрос делается из клиентского приложения в приложение веб-службы, должно быть два рабочих процесса (процессы w3wp.exe). Вы должны иметь возможность подключить ваш отладчик к правильному процессу w3wp для его отладки.
Ответ 4
Вы пробовали эту функцию? System.Diagnostics.Debugger.Launch();
Вместо того, чтобы откладывать отладчик, используйте вышеприведенную функцию, это может решить вашу проблему.
Как вы хотите отладить функцию test()
public bool test()
{
System.Diagnostics.Debugger.Launch();
//..put it on top of the function
}
Ответ 5
Visual Studio 2008\2010:
- Установите
<compilation debug="true">
в приложении веб-службы - Перейдите в Инструменты\Параметры, затем Отладка\Общие и снимите флажок Включить только мой код (только управляемый)
- Установить точки останова в прокси-классе (для веб-службы установлена одна точка останова в Invoke и другая в обратной линии)
Отлаживайте, как обычно.
Если вы видите что-то вроде пошагового запроса, это приводит к автоматическому переходу к свойству или оператору, просто следуйте инструкциям (щелкните правой кнопкой мыши по строке, снимите флажок "Перейдите по свойствам и операторам" или "Шаг в конкретные..." ),
Ответ 6
Установите точку останова непосредственно перед вызовом веб-службы, а затем Step Into
(F11) сам вызов webservice. Внутри веб-службы вы можете установить больше точек останова, где бы вы ни хотели.
Ответ 7
В качестве дополнения к другим ответам вы также можете щелкнуть правой кнопкой мыши по решению и выбрать "Set StartUp Projects..."
В разделе Общие свойства/Проект запуска выберите параметр радио для "Несколько проектов запуска:", а затем для проектов веб-сервиса и прокси выберите "Старт".
Отладка теперь должна запускать отладчик в обоих проектах каждый раз, когда вы нажимаете run.
Ответ 8
Добавьте в свой код (в С#):
System.Diagnostics.Debugger.Launch();
Проверьте, строите ли вы проект "Конфигурации решений: отладка".