Мне нужно включить обнаружение WCF в моем монопроекте, поэтому я следовал примеру this, чтобы проверить функцию. Это мой тестовый код:WCF Udp Discovery in mono
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
. I'am получает исключение:
Контракт «TargetService» не реализован в этой службе «TestService»
Я попытался посмотреть на источник моно, но could't найти какие-либо решений для устранения этой проблемы , С нетерпением ждем любых идей, как включить обнаружение wcf в моно или предложениях, как я могу исправить свой тестовый код. P.s. код отлично работает с использованием .net framework.