2011-01-21 1 views
0

웹 서비스를 사용하는 ASP.NET C# 프로젝트가 있고 WebMethods는 로컬 IIS 서버에 소스 코드가있는 VB.NET으로 작성되었습니다. WebMethod는 null을 반환하고 왜 이것을 얻는 지 알기 위해 디버깅하고 싶습니다.VB.NET WebMethod를 디버깅하는 방법은 무엇입니까?

아시다시피 webmethod 호출 바로 전에 중단 점을 설정하면이 웹 메서드로 들어갈 수 없습니다.

그렇다면이 웹 메소드를 디버깅하는 올바른 방법은 무엇입니까?

감사합니다.

+0

어떤 Visual Studio 버전을 사용하고 있습니까? – Oded

답변

1

디버거를 서버 프로세스에 연결하고 웹 메서드 코드에 중단 점을 넣은 다음 웹 메서드를 호출합니다.

Visual Studio에서 웹 메서드를 중단해야합니다. here를 참조 -


이 정확한 버그 VS 2005에 대한 버그가 있습니다.

KB 문서의 솔루션은 웹 메서드의 String 매개 변수의 서명을 byref에서 byval으로 변경하는 것입니다.

+0

좋아요, 나는 VS 2008에 VB.NET 코드를로드했습니다. WebDev.WebServer.exe에 프로세스를 연결하려고 시도했지만 webmethod에 중단 점을 넣으려고했지만 멈추지 않았습니다 ... 중단 점에 대한 경고가 있습니다. 현재 조회되지 않았습니다.이 문서에 대한 기호가로드되지 않았습니다. " – elbaid

+0

@elbaid - 웹 메서드 (및 관련 코드)가 이미 프로세스 메모리에 있어야하므로 첨부하기 전에 웹 메서드 (또는 동일한 사이트의 다른 메서드)를 호출하십시오. – Oded

+0

좋아, 작동, 나는 webmethod에 들어갈 수 있습니다. – elbaid

0

웹 메서드는 소비하는 응용 프로그램과 다른 프로세스 (웹 서비스)에서 실행됩니다. 따라서 소비 애플리케이션을 디버깅 할 때 웹 서비스에 참여할 수 없습니다. 그러나 소비 애플리케이션을 실행하는 동안 웹 서비스를 디버깅 할 수 있습니다 (예 : 적절한 IIS 프로세스에 연결). 또 다른 옵션은 웹 서비스를 직접 호출하는 것입니다. 간단한 메소드의 경우 웹 서비스 자체에서 제공하는 테스트 양식을 사용할 수 있습니다. 더 복잡한 것들을 위해, SoapUI와 같은 것은 웹 서비스 호출을 트리거하는 데 유용합니다.