2011-08-29 4 views
3

저는이 URL을 사용하는 클라이언트와 BasicHttpBinding을 사용하는 wcf 서비스를 작성했습니다. 사용자는 클라이언트 응용 프로그램을 시작하고 서버 끝점에 지정된 동일한 URL을 지정해야합니다.내 자신의 콘텐츠로 wcf 서비스의 html 출력을 변경하려면 어떻게해야합니까?

그러나 사용자가 실수로 웹 브라우저에서이 URL을 열면 서비스 메타 데이터를 검색하는 방법에 대한 정보를 볼 수 있습니다.이 메타 데이터는 전혀 쓸모가 없습니다.

예를 들어 도움말 항목과 같이 볼 수 있도록하려면 어떻게해야합니까?

+0

사용자 에이전트가 브라우저인지 확인하고 도움말 콘텐츠로 리디렉션하도록 웹 서버를 구성 할 수 있습니다. –

답변

4

서비스 메타 데이터의 게시를 해제해야합니다.

당신의 Web.config에서 비활성화 할 수 있습니다 : 당신은 여기에 MSDN에 대한 자세한 정보를 찾을 수 있습니다

<serviceMetadata httpGetEnabled="false" /> 

:

물론 사용자가 주소 표시 줄에 서비스의 URL을 직접 입력하면 기본 방문 페이지가 생성됩니다 (예 : http://www.examle.com/service.svc). 그러나 지금은 메타 데이터가 현재 비활성화되어 있다고 언급 할 것입니다.

http://social.msdn.microsoft.com/forums/en-US/wcf/thread/5778651a-b212-438a-b3e8-f7029775d52a/

2

당신이 정의를 원한다면 : 당신은 당신이 다음 스레드를 확인 좋을 것 해당 페이지를 사용자 정의하려면

는, 그것을 설정하는 방법에 대한 완전한 코드 샘플을 포함

<behaviors> 
    <serviceBehaviors> 
    <behavior name="..."> 
     <serviceDebug httpHelpPageEnabled="true" httpHelpPageUrl="Your custom page url" /> 
    </behavior> 
    </serviceBehaviors> 
<behaviors> 

같은 속성은 또한 HTTPS를 위해 당신은 또한 "바인딩"을 제어 할 수있는 몇 가지 특별한 요구 사항의 경우에 존재 : 도움말 페이지 대신 기본 중 하나는 당신이 ServiceDebug 동작을 수정해야합니다.

+0

+1은 httpHelpPageUrl을 언급합니다. 그것은 자동으로 도움말 URL (http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/cac08285-be56-492e-a55a-07bc8145b40c) –

+1

-1으로 리디렉션하지 않는 것 같지만 이것은 광고 된 방식대로 작동하지 않습니다. 해당 httpHelpPageUrl 특성에 대해 찾은 모든 주석은 분명히 시도한 적이없는 사람들의 의견입니다. Christophe의 스레드는 C#의 HTML을 스트림에 쓰는 권장 "솔루션"으로 끝납니다. –

관련 문제