单声道WCF Udp发现

时间:2013-08-16 10:29:02

标签: c# mono

我需要在单声道项目中启用WCF发现,因此我按照this示例来测试功能。这是我的测试代码:

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添加了。我得到例外:

  

此服务中未实现合同'TargetService'   'TestService的'

我试着查看单一来源,但找不到解决此问题的方法。 期待任何想法如何在单声道启用wcf发现或建议如何修复我的测试代码。 附:代码在.net框架中运行良好。

1 个答案:

答案 0 :(得分:0)

在提出问题时Mono是否有WCF 4.5 UDP工作的可能性非常小。