하나의 WCF 서비스를 다른 WCF 서비스로 호출하십시오…
-
19-09-2019 - |
문제
기존 서비스 내에서 원격 WCF 서비스를 요청하려고합니다.
원격 서비스에서 소비 해야하는 방법에 대한 서비스 참조를 추가 하고이 웹 메드에서 다음과 같이 사용합니다.
[WebMethod(Description = "My local service."]
public RemoteService.ServiceResponse ServiceRequest(RemoteService.SendRequest myObject)
{
// Instance of remote service's method I'm
RemoteService.ServiceResponse SendResponse;
SendResponse = ServiceRequest(RemoteService.SendRequest)
return SendResponse;
}
내 질문은 원격 서비스의 ServiceRequest 웹 메소드에 전화를 걸어 실제로 원격 서비스를 호출하고 있습니까?! 아니면 그냥 내 자신을 부르고 있습니까? 현지의 원격 서비스의 ServiceRequest 방법의 인스턴스?
내가 틀린 것에 대해 옳다면, 내가해야 할 일을하는 올바른 방법은 무엇입니까, 행동과 함께 내 서비스와 원격 서비스에 대한 요청과 응답을 통과하기위한 통과 또는 대리인이라고 생각합니까?
해결책
우선, [WebMethod]
속성은 WCF가 아닌 ASMX 웹 서비스를 가리 킵니다. 정말 WCF입니까 ??
둘째, 경우 이다 WCF : 서비스에서 메소드를 호출하려면 해당 서비스의 프록시 클라이언트를 인스턴스화해야합니다. 서비스 참조를 생성하면 ServiceNamespace.ServiceReferenceClient
종류의 종류 - 그것은 당신을 위해 자율적으로 만들어졌습니다. 이것을 인스턴스화하고 해당 대리의 메소드를 호출해야합니다.
[WebMethod(Description = "My local service."]
public RemoteService.ServiceResponse ServiceRequest(RemoteService.SendRequest myObject)
{
// Instance of remote service's method I'm
RemoteService.ServiceResponse SendResponse;
ServiceProxyClient client = new ServiceProxyClient();
SendResponse = client.ServiceRequest(RemoteService.SendRequest)
return SendResponse;
}
그렇게하면 방금 추가 한 서비스를 서비스 참조로 호출합니다.
제휴하지 않습니다 StackOverflow