2012-09-24 1 views
1

C# Visual Studio 2010에서 WCF를 사용하여 서비스 REST 유형을 만들고 있습니다. 이 서비스는 JSON 파일을받은 다음 다른 JSON으로 응답합니다. Windows Forms 응용 프로그램을 구축하고 채널을 만들어 서비스를 작동하게 만들었습니다. 나는 POST를 통해 JSON을 보내고 내용을 가져온다. 응용 프로그램을 Windows 서비스 (제어판의 서비스)로 바인딩하려고합니다. 따라서 WCF 서비스 응용 프로그램을 만들었지 만 디버깅 할 때 WCF 테스트 클라이언트 유틸리티가 열리지 만 메타 데이터를 요청하기 때문에 실패합니다. 그러나 REST 아키텍처를 사용함에 따라 메타 데이터를 전혀 사용할 필요가 없다고 생각합니다. 서비스를 공개하고 싶지 않기 때문에 서비스를 알고있는 사용자가 원하는 정보를 사용하기를 원합니다. 그래서, 내 질문에 더 많은 방법 같은 메타 데이터를 사용하지 않고 WCF 서비스 REST 형식을 디버깅 할 무엇입니까? 클라이언트가 내 자신을 생성하고 다음 Windows 서비스에 서비스를 넣어 보인다, 설치/제거하는 데 오랜 시간이 걸리기 때문에 아주 좋은 생각이 아닙니다.메타 데이터를 사용하지 않고도 WCF 서비스 REST 유형을 어떻게 디버깅합니까?

감사

답변

2

내 환경 설정은 콘솔 응용 프로그램 내에서, 도서관에서 WCF 서비스를 넣어 별도의 간단한 콘솔 응용 프로그램을 만들고, self-host the service하는 것입니다. 이렇게하면 디버깅이 매우 간단 해집니다.

나중에 (서비스에서) 서비스로 만들려면 Windows 서비스 프로젝트를 만들고 서비스 라이브러리를 참조하고 Windows 서비스 응용 프로그램 내에서 호스팅 할 수 있습니다.

1

당신이 맞습니다. WCFTESTClient가 WCF REST 서비스에서 작동하지 않습니다. 할 수있는 방법은 여러 가지가 있습니다. WcfTestClient 대신 Fiddler를 사용할 수 있습니다. 당신이 말한대로 당신은 당신 자신의 클라이언트를 만들 수 있습니다; 당신은 테스트를 위해 HttpClient를 사용할 수 있습니다 ...

Windows 서비스를 설치/제거해야하는 문제 : Windows 서비스 환경 (예 : 사용자 계정)에 의존하지 않으면 테스트 목적으로 테스트가 실행되는 것과 동일한 프로세스에서 서비스를 자체 호스팅 할 수 있습니다. 이것은 대부분의 시나리오에서 서비스 논리 자체를 테스트하기에 충분해야합니다.

관련 문제