2013-02-26 7 views
1

내에서 WCF TCP 서비스를 참조하는 "단계 7 : 테스트 클라이언트 응용 프로그램 만들기"및 하위 단계 5 : "5. 서비스 참조 추가 대화 상자에서 서비스 URI를 net.tcp : // localhost : 8523/WCFTestService로 설정 한 다음 이동을 클릭하십시오."내가 연습을 통과하고 동일한 솔루션

"URI 접두사가 인식되지 않습니다. 메타 데이터에 해결할 수없는 참조가 있습니다."

마치 "서비스 참조 추가"가 "net.tcp"바인딩을 인식하지 못하는 것입니다.

저는 Visual Studio 2012를 사용하는 Windows 7 x64에 있고 프로젝트는 x86 및 Framework 4.5를 대상으로합니다.

나는이 스레드를

An error in the MSDN walk-through - "How to: Host WCF in a Windows Service Using TCP"

을 발견하지만 클라이언트가 동일한 솔루션에있을 때 그들은 문제가되지 않았다. 나는.

서비스 구성은 :

<system.serviceModel> 
    <behaviors> 
     <serviceBehaviors> 
      <behavior name="Publisher.MyServiceBehavior"> 
       <serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" /> 
       <serviceDebug includeExceptionDetailInFaults="false" /> 
      </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <services> 
     <service name="POC_WcfTcpSubscribePublishService.Publisher"> 
      <endpoint address="" binding="netTcpBinding" bindingConfiguration="" 
       name="NetTcpBindingEndpoint" contract="POC_WcfTcpSubscribePublishService.IPublisher"> 
       <identity> 
        <dns value="localhost" /> 
       </identity> 
      </endpoint> 
      <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" 
       name="MexTcpBindingEndpoint" contract="IMetadataExchange" /> 
      <host> 
       <baseAddresses> 
        <add baseAddress="net.tcp://localhost:8523/WcfTcpSubscribePublish" /> 
       </baseAddresses> 
      </host> 
     </service> 
    </services> 
</system.serviceModel> 

모든 포인터를 환영합니다.

+1

참조를 추가하려는 서비스가 실행 중입니까? 요구 사항입니다. 컨텍스트 메뉴와 별도로 서비스 프로젝트를 실행할 수 있습니다. –

+0

늦게 대응하여 죄송합니다. 이것이 문제였습니다. 나는 내가 서비스를 실행하고 있다고 생각했지만 시작했을 때 다른 이유로 즉시 종료되었습니다. 이제 클라이언트 프로젝트에 서비스 참조를 추가 할 수 있습니다. 재밌지 만 발견은 여전히 ​​효과가 없습니다. – dtaylor

+0

이 응답을 대답으로 추가하면 응답으로 표시됩니다. – dtaylor

답변

1

을 당신이 그것에 대한 참조를 추가하기 전에 서비스를 실행해야합니다.

솔루션 탐색기의 컨텍스트 메뉴와 별도로 서비스 프로젝트를 실행할 수 있습니다.

1

당신은 서비스 동작이 있습니다

Publisher.MyServiceBehavior

을하지만 당신은 당신의 서비스에 해당 서비스 동작을 적용되지 않습니다. 서비스 이름 후 = "..."이렇게 :

behaviorConfiguration = "Publisher.MyServiceBehavior을"

+0

Trevor, 답변 해 주셔서 감사합니다. 지연에 대해 유감스럽게 생각합니다. 나는 여러 방향으로 당겨지고 있습니다. 이것은 좋은 캐치지만 내 문제를 해결하지 못했습니다. 위의 "500 - 내부 서버 오류"에 응답 할 때 문제는 내 서비스가 계속 실행되지 않는 것입니다. 이제는 서비스를 실행할 수 있으므로 클라이언트에서 참조 할 수 있습니다. – dtaylor