4
WCF를 배우기 시작했으며 몇 가지 테스트 http 서비스를 성공적으로 만들었습니다. 이제 net.pipe 바인딩을 사용하여 자체 호스팅 WCF 서비스를 만들려고했습니다. 아래는 서비스의 구성 파일은 다음과 같습니다 - net.pipe 서비스에 서비스 참조 추가
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service behaviorConfiguration="MEX" name="InProcService.MyService">
<endpoint address="MyService"
binding="netNamedPipeBinding" bindingConfiguration="" contract="InProcService.IMyService" />
<endpoint address="Mex" binding="mexNamedPipeBinding"
contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.pipe://localhost/InProcService/" />
<add baseAddress="http://localhost:8001/InProcService/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MEX" >
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
지금 내 호스트 응용 프로그램에서, 내가 사용하여 서비스를 시작하고있다 : -
ServiceHost host = new ServiceHost(typeof(MyService));
host.Open();
Console.WriteLine("Service started");
host.Close();
서비스는이 코드가 실행될 때 올바르게 시작합니다.
이제 클라이언트 응용 프로그램에서이 실행중인 서비스에 서비스 참조를 추가하려고 시도했지만 찾을 수 없습니다. 내가하지 않거나 잘못하고있는 일이 있습니까?
이 문제에 관해 도움을 주시면 감사하겠습니다.
건배, Abhi.
"서비스 참조 추가"로 전달하려는 URL은 무엇입니까? 정확히 어떤 오류가 발생합니까? 또한 명령 줄 svcutil.exe 프로그램을 사용해보십시오 - 오류를 볼 수 있어야합니다. –
서비스 참조를 추가 할 때 귀하의 서비스를 어떻게 가리 킵니까? 끝점 주소는 다음과 같아야합니다. net.pipe : // localhost/InProcService/MyService – volpav
오류 메시지가 표시됩니다. - "메타 데이터에 확인할 수없는 참조가 포함되어 있습니다 : 'net.pipe : // localhost/InProcService/MyService'. 메시지를 받아 들일 수있는 net.pipe : // localhost/InProcService/MyService에서 수신하는 엔드 포인트가 없습니다. 이것은 종종 잘못된 주소 또는 SOAP 조치로 인해 발생합니다 (자세한 내용은 InnerException을 참조하십시오.) 파이프 끝점 'net.pipe : // localhost/InProcService/MyService'를 로컬 컴퓨터에서 찾을 수 없습니다. 서비스가 현재 솔루션에 정의되어있는 경우 솔루션을 빌드하고 서비스 참조를 다시 추가하십시오. " 어떤 아이디어? –