1
인터페이스가 있고 동일한 인터페이스에 대해 여러 구현이 있습니다. 그래서 하나의 호스트를 사용하여 엔드 포인트를 공개하는 방법에 대해 묻고 싶습니다.단일 서비스에서 여러 WCF ServiceContract 구현 호스팅
서비스 코드
[ServiceContract]
public interface ICalculator
{
[OperationContract]
int Add(int num1, int num2);
}
public class Calculator : ICalculator
{
public int Add(int num1, int num2)
{
return num1 + num2;
}
}
public class Calculator_Fake : ICalculator
{
public int Add(int num1, int num2)
{
return num1 + num1;
}
}
호스트 코드
class Program
{
static void Main(string[] args)
{
ServiceHost host = new ServiceHost(typeof(WCF_Service.CalService));
host.Open();
Console.ReadLine();
}
}
호스트 구성
<endpoint address="http://localhost:8000/CalService"
binding="basicHttpBinding"
contract="WCF_Service.ICalculator" />