2

mono プロジェクトで 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」に実装されていません

モノソースを調べてみましたが、この問題の回避策が見つかりませんでした。mono で wcf 検出を有効にする方法や、テスト コードを修正する方法についてのアイデアを楽しみにしています。Ps コードは、.net フレームワークを使用してうまく機能します。

4

1 に答える 1

0

質問の時点では、Mono に WCF 4.5 UDP が機能しているかどうかについてはほとんどありません。

于 2014-06-04T04:23:47.060 に答える