Подтвердить что ты не робот

Прокси-сервер отладки веб-службы в С#

В моем проекте я создал веб-приложение с веб-сервисом. В том же решении я добавил еще одно веб-приложение. Я использую веб-сервис из этого приложения. Я добавил веб-ссылку, используя ссылку на веб-ссылку, используя опцию веб-ссылки. Я хочу отладить прокси-класс, сгенерированный (когда я добавляю веб-ссылку). Я поместил отладчик в прокси-класс, но он не работал. Затем я скопировал класс прокси и создал новый класс в клиентском веб-приложении с тем же самым и тем же контентом и удалил веб-ссылку. Но все же я не могу отлаживать прокси-класс. Как я могу отладить прокси-класс? Пожалуйста, помогите.

4b9b3361

Ответ 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 и другая в обратной линии)



    Отлаживайте, как обычно.



    Если вы видите что-то вроде пошагового запроса, это приводит к автоматическому переходу к свойству или оператору, просто следуйте инструкциям (щелкните правой кнопкой мыши по строке, снимите флажок "Перейдите по свойствам и операторам" или "Шаг в конкретные..." ),



    enter image description here

Ответ 6

Установите точку останова непосредственно перед вызовом веб-службы, а затем Step Into (F11) сам вызов webservice. Внутри веб-службы вы можете установить больше точек останова, где бы вы ни хотели.

Ответ 7

В качестве дополнения к другим ответам вы также можете щелкнуть правой кнопкой мыши по решению и выбрать "Set StartUp Projects..."

В разделе Общие свойства/Проект запуска выберите параметр радио для "Несколько проектов запуска:", а затем для проектов веб-сервиса и прокси выберите "Старт".

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

Ответ 8

Добавьте в свой код (в С#):

System.Diagnostics.Debugger.Launch();

Проверьте, строите ли вы проект "Конфигурации решений: отладка".