我有一个类TestService
它实施两个服务合同,称为IService1
和IService2
。 但是我面临实施中的困难。 我的代码如下:wcf类执行多个服务合同
Uri baseAddress = new Uri("http://localhost:8000/ServiceModel/Service");
Uri baseAddress1 = new Uri("http://localhost:8080/ServiceModel/Service1");
ServiceHost selfHost = new ServiceHost(typeof(TestService));
selfHost.AddServiceEndpoint(typeof(IService1), new WSHttpBinding(), baseAddress);
selfHost.AddServiceEndpoint(typeof(IService2), new WSHttpBinding(), baseAddress1);
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
selfHost.Description.Behaviors.Add(smb);
selfHost.Open();
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
selfHost.Close();
我得到一个运行时错误为:
的ServiceMetadataBehavior的HttpGetEnabled属性设置为true 和HttpGetUrl属性是 相对地址,但是没有http基地址。提供一个http 基地址或将HttpGetUrl设置为一个 绝对地址。
我该怎么办呢?我真的需要两个单独的端点吗? 谢谢。