내 클라이언트 프로젝트에서 호출 할 서비스가 있어야합니다. 요구 사항은 서비스를 변경하고 릴리스 할 수 있지만 서비스를 변경 한 후에는 클라이언트를 다시 빌드 할 필요가 없어야한다는 것입니다. 예, 나는이 경우 내가 클라이언트에서 ReachedByTrain 서비스를 호출됩니다의 사람이 지금은 서비스가 기차로 목적지에 도달하기 위해 사람을 돕고 대상Extensible WCF 서비스를 만드는 방법
[ServiceContract]
IDestinationHelper
{
[OperationContract]
void ReachDestination(string person);
}
class ReachedByTrain:IDetinationHelper
{
void ReachDestination(string person)
{
//Help the person to reach destination
}
}
에 도달하는 데 도움이 서비스를 가정되지만, 요구 사항이오고 그 사람이 Flight로 연락하기를 원합니다.이 경우, 클라이언트를 변경하거나 구축하지 않고 어떻게 진행해야합니까? 기능은 연결 가능해야하며 클라이언트가 자동으로 감지해야합니다.
class ReachedByFlight:IDetinationHelper
{
void ReachDestination(string person)
{
//Help the person to reach destination
}
}
어떻게 수행 할 수 있는지에 대한 도움말이나 참조를 제공해주십시오.
P.S 한 번에 하나의 모드 만 클라이언트에 제공됩니다. 클라이언트가 그것에 대해 알지 못하더라도 상관 없습니다.
답장을 보내 주셔서 감사합니다. 사람이 목적지에 도달하고 있음을 고객이 알 필요가 없습니다. 도달하기 위해서는 적절한 서비스 (교통 수단)를 호출해야하며 한 번에 하나의 모드 만 존재하게됩니다. 이것이 어떻게 기술적으로 달성 될 수 있는지. – Vikram
인터페이스를 변경하지 않는 한 원하는만큼의 서비스 (열차 용, 비행기 용)로 호스트 할 수 있으며 예를 들어 URL을 다르게 할 수 있습니다. 또는 가지고있는 파일을 덮어 쓸 수 있습니다. 기차가 아닌 비행기로 모든 고객을 이동 시키려면 서비스를 재구성하고 다시 배포해야합니다. 중요한 것은 인터페이스를 변경하지 않는 것입니다. – nvoigt
다른 서비스를 가지고 있지만 인터페이스는 동일하지만, 클라이언트 변경이 필요할 것으로 생각되는 서비스를 변경할 때마다 끝점을 변경해야합니다. 미안하지만 WCF를 처음 사용합니다. – Vikram