2014-01-23 5 views
0

example on MSDN에 도움말 페이지 끝점을 추가하고 메타 데이터 교환 끝점 작업을 중단했습니다. 여기에 예외 세부 사항을 당신이뿐만 mex 엔드 포인트를 필요로하는 이유는 확실하지 않다, 나는 모든 것이 잘 작동하지 않고 메타 데이터 http://imgur.com/delete/HYe9c9OocABgxOj를 참조하려고하지만 난 그러나 IMetadataExchange을해야 당신의 mex 엔드 포인트에 도움말 페이지WCF 구성 메타 데이터 교환 및 도움말 페이지 끝점

<system.serviceModel>  
    <services> 
     <service behaviorConfiguration="MyServiceBehaviors" name="GoalTracker.WcfRestService.Service1"> 
      <endpoint address="mex" binding="mexHttpBinding" contract="GoalTracker.WcfRestService.IService1" /> 

      <endpoint address="" binding="webHttpBinding" contract="GoalTracker.WcfRestService.IService1" /> 
      <endpoint address="Help" kind="webHttpEndpoint" 
       behaviorConfiguration="RESTEndpointBehavior" 
       contract="GoalTracker.WcfRestService.IService1" /> 
     </service> 

    </services> 
    <behaviors> 
     <serviceBehaviors> 
      <behavior name="MyServiceBehaviors"> 
       <!-- Add the following element to your service behavior configuration. --> 
       <serviceMetadata httpGetEnabled="true" /> 
       <serviceDebug includeExceptionDetailInFaults="True" 
           httpHelpPageEnabled="True"/> 
      </behavior> 
     </serviceBehaviors>   
     <endpointBehaviors> 
      <behavior name="RESTEndpointBehavior"> 
       <webHttp helpEnabled="true"/> 
      </behavior> 
     </endpointBehaviors> 
    </behaviors>  
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> 
</system.serviceModel> 

답변

1

계약을 첨부해야 할 때 서비스는 REST 기반입니다.

끝점 동작에서 helpEnabled="true"을 설정하면 도움말 페이지가 자동으로 활성화됩니다. 주소가 "Help" 인 다른 끝점을 추가 할 필요가 없습니다. 엔드 포인트를 제거하십시오.

메인 엔드 포인트의 kind="webHttpEndpoint"behaviorConfiguration="RESTEndpointBehavior"address=""으로 설정하십시오.

그래서 다음과 같아야합니다

<service behaviorConfiguration="MyServiceBehaviors" name="GoalTracker.WcfRestService.Service1"> 

     <endpoint address="" kind="webHttpEndpoint" 
      behaviorConfiguration="RESTEndpointBehavior" 
      contract="GoalTracker.WcfRestService.IService1" /> 

</service> 
+0

을 난 단지 IService1 계약이 discribed 한 내 API의 – Ark

+0

권리 - 그러나 당신은'mex' 엔드 포인트와 함께'그것이로'IMetadataExchange'을 가져야한다 mexHttpBinding' 노출하는 경우 계약. 이것은 WCF 내의 빌트인 계약입니다. 또는 Mex 엔드 포인트를 원하지 않으면 REST 서비스는 일반적으로 필요하지 않습니다. 엔드 포인트를 제거 할 수 있습니다. – YK1

+0

mexHttpBinding으로 mex 끝점을 노출하면 IMetadataExchange가 동작을 변경하지 않습니다. IService1과 마찬가지로 IMetadataExchange를 사용하여 도움말 페이지 끝점과 mex를 삭제할 수 있습니다. 나는 그에게 중요하지 않다. 그러나 그것은 여전히 ​​내 문제를 해결하지 못합니다. 나는 도움과 mex 끝점 모두를 사용할 수 없다 – Ark