다른 URL에서 다른 기능을 참조하는 2 개의 끝점을 제공하도록 구성하려고하는 WCF 서비스가 있습니다.WCF 서비스에서 2 가지 다른 서비스 계약에 2 개의 끝점을 표시합니다.
은 내가 갖고 싶어하는 방법 A는, B, C, 및 서비스 2, 노출 방법의 D, E. 내가 로컬 호스트/WebServiceName/서비스 1을 모두 검색 할 수 있도록하려면 노출, 서비스 1입니다/서비스 .svc 및 localhost/WebServiceName/Service2/Service.svc. 참조
다른 응용 프로그램 로컬 호스트/WebServiceName/서비스 1/Service.svc는 방법 A를 포함하는 경우에만 인터페이스를 볼 수, B와 C 그들은 서비스 2 인터페이스에 대한 아무것도 못한다. 그리고 서비스 2에 대해서도 마찬가지입니다. 내 WCF 서비스의
지금까지 정의한 두 개의 인터페이스,I_Service1 및 I_Service2.
나는 그렇게처럼 내 Web.config의 두 끝점을 추가 한 :
이<endpoint address="http://localhost/WebServiceName/Service1/" binding="wsHttpBinding" contract="WebServiceName.I_Service1" bindingConfiguration="Binding1" />
<endpoint address="http://localhost/WebServiceName/Service2/" binding="wsHttpBinding" contract="WebServiceName.I_Service2" bindingConfiguration="Binding2" />
enpoint에서 전체 주소를 사용하는 제안은 여기에서 유래 : 여전히 Multiple endpoints under IIS
하지만, 내가 찾아 볼 수 없습니다 localhost/WebServiceName/Service1/Service.svc.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
내가 성공적으로 로컬 호스트/WebServiceName/Service.svc를 찾아 볼 수 있고, WSDL은, B, C, D, E.을 방법 A를 포함하지만 이것은 내가 원하는 행동의 잘못한다 : 내가받을 수 있습니다.
내가 놓친 것이 있습니까?
업데이트 :이 기사에 이어 http://allen-conway-dotnet.blogspot.ro/2011/09/exposing-multiple-binding-types-for.html 나는 이러한 종점에 대해 두 가지 계약 서비스를 만들었습니다. 그러나 현재 내가 찾아 볼 때 서비스 1 만 있습니다. 서비스 2이 분명히 존재하지 않습니다 (HTTP 404 오류 관련 문제가 나타남).
<services>
<service behaviorConfiguration="WebServiceName.ServiceBehavior1" name="WebServiceName.Service1">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="Binding1"
contract="WebServiceName.I_Service1" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost/WebServiceName/Service1/Service.svc" />
</baseAddresses>
</host>
</service>
<service behaviorConfiguration="WebServiceName.ServiceBehavior2" name="WebServiceName.Service2">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="Binding1"
contract="WebServiceName.I_Service2" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost/WebServiceName/Service2/Service.svc" />
</baseAddresses>
</host>
</service>
</services>
확실한 단계를 설명하는 데는 아무런 문제가 없습니다. 대부분의 시간은 우리가 잊어 버린 사람들입니다. 그럼에도 불구하고, 내 질문은 두 개의 다른 웹 서비스가 아니라 두 개의 끝점을 사용하여 단일 웹 서비스를 구성하는 방법에 관한 것입니다. 또한 구성 부분은 Web.config 또는 Web.config를 참조하는 응용 프로그램의 app.config가 아닌 해당 Web Service web.config에서 구성해야하는 항목에 대한 것입니다. –