我需要在我的单声道项目中启用 WCF 发现,所以我按照这个示例来测试功能。这是我的测试代码:
Uri baseAddress = new Uri(string.Format("http://{0}:8000/calc/{1}/",
System.Net.Dns.GetHostName(), Guid.NewGuid().ToString()));
using (ServiceHost serviceHost = new ServiceHost(typeof(testService), baseAddress))
{
serviceHost.AddServiceEndpoint(typeof(icalc), new WSHttpBinding(), string.Empty);
serviceHost.Description.Behaviors.Add(new ServiceDiscoveryBehavior());
serviceHost.AddServiceEndpoint(new UdpDiscoveryEndpoint()); //<-- Exception here
serviceHost.Open();
Console.WriteLine("Press <ENTER> to terminate service.");
Console.ReadLine();
}
[ServiceContract()]
public interface icalc
{
[OperationContract()]
int sum(int a, int b);
}
[ServiceBehavior()]
public class testService : icalc
{
public int sum(int a, int b)
{
return a + b;
}
}
现在问题在于UdpDiscoveryEndpoint
添加的位置。我得到了例外:
此服务“testService”中未实现合同“TargetService”
我试图查看单声道源,但找不到任何解决此问题的方法。期待任何想法如何在单声道中启用 wcf 发现或建议如何修复我的测试代码。Ps 代码使用 .net 框架效果很好。