2011-12-07 1 views
2

클라이언트 응용 프로그램에 사용할 WCF 서비스를 제공하는 ASP.NET 웹 사이트를 디자인 중입니다. 그러나 서비스의 연산 함수 시작 부분에 중단 점을 넣으면 제목에 메시지가 표시되어 작업을 디버깅 할 수 없습니다. 이 테스트 방법은 다음과 같습니다. 먼저 WCF 서비스 및 작업이있는 asp.net 웹 사이트 프로젝트를 만들고 로컬 IIS 서버에 게시 한 후 브라우저에서 서비스의 wsdl 파일을 탐색 할 수 있습니다. 서비스가 올바르게 호스트됨을 의미합니다. 또한 디버그를 사용하려면 Web.config 파일에asp.net 서비스를 디버깅 할 때 "중단 점에 현재 충돌이 없습니다.이 문서에 대한 심볼이로드되지 않았습니다."

<compilation debug="true"> 

을 넣으십시오.

그런 다음 조작을 호출하는 다른 테스트 클라이언트 콘솔 프로젝트를 작성합니다. 프록시 클래스는 svcutil.exe를 사용하여 생성됩니다. 그런 다음 디버그를 w3wp.exe 프로세스에 연결합니다. IIS에서 하나의 응용 프로그램 풀만 사용하기 때문에 하나의 프로세스가 있습니다. 이제 클라이언트를 시작하고 작업을 호출하면 서버에서 작업의 기능을 수행 할 수 없습니다. 아무도 저에게 무슨 문제가 있다고 말할 수 있습니까? 어떤 도움을 주셔서 미리 감사드립니다!

답변

3

웹 사이트를 IIS에 게시 할 때 디버그 정보가 무시되었습니다. 즉, 디버그 기호로 생성 된 .pdb 파일이 없습니다. 필자는 게시 웹 사이트 대화 상자의 "디버그 정보 출력"옵션을 확인한 다음 .pdb 파일이 생성되고 중단 점이 발생하는 것을 수정했습니다.

1

WCF 서비스를 디버깅하려면 .NET Framework (.NET v4.0)와 함께 제공되는 WCF 테스트 클라이언트에서 빌드를 사용할 수 있습니다. 서비스 페이지를 열면 F5 키를 눌러 디버깅을 시작합니다. WCF 테스트 클라이언트가 실행되어야하며 필요한 작업을 호출하고 디버깅 할 수 있습니다. 프로젝트가 디버그 모드로 빌드되었는지 확인하십시오.

+0

답장을 보내 주셔서 감사합니다. 그러나 귀하의 솔루션을 이해할 수 있는지 확실하지 않습니다. 우선, 내 서비스에는 매개 변수로 사용자 정의 된 입력이 필요하므로 클라이언트의 빌드가 서비스를 제어하는 ​​좋은 선택이 아닐 수도 있습니다. – tete

관련 문제