WCF Udp Discovery в моно

Мне нужно включить обнаружение 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 добавлено. Я получаю исключение:

Контракт 'TargetService' не реализован в этой услуге 'testService'

Я пытался взглянуть на моно источник, но не смог найти обходных путей для этой проблемы. С нетерпением ждем каких-либо идей, как включить обнаружение wcf в моно, или предложений, как я могу исправить свой тестовый код. Ps код прекрасно работает с использованием.net frame work.

1 ответ

Очень маловероятно, что на данный момент в Mono работает WCF 4.5 UDP.

Другие вопросы по тегам