WCF newbie here ...私はNetTcpBindingを使用してWCFサービスを自己ホストしようとしています。私はすべての私は、NetTcpBindingにWsHttpBindingから変更され、コードに結合し、次のようになります行っているMSDN "how-to" tutorialに基づいて:NetTcpBindingをコードで実行できますか?あなたはすべきですか?
var baseAddress = new Uri("net.tcp://localhost:8000/MyWebService");
var selfHost = new ServiceHost(typeof(ConcreteWebService), baseAddress);
try {
var binding = new NetTcpBinding();
binding.Security.Mode = SecurityMode.Message;
selfHost.AddServiceEndpoint(typeof(IWebService), binding, "TRWebService");
selfHost.Open();
Console.WriteLine("The service is ready at {0}", baseAddress.AbsoluteUri);
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
selfHost.Close();
} catch (CommunicationException ce) {
Console.WriteLine("An exception occurred: {0}", ce.Message);
selfHost.Abort();
}
事があり、チュートリアルでは、あなたがにsvcutil.exeを実行する必要が語りますクライアントのためのプロキシを生成する...しかし、私はNetTcpBindingに切り替えたので、svcutilはもう動作しません - 私のサービスを検出できません。私はこの問題を探って、NetTcpBindingのすべての単一の例が、コードではなくapp.configファイル内の設定を行い、すべてが "mexTcpBinding"というバインディングタイプの "Mex"というエンドポイントを追加することを発見しました。これに相当するコードはありません。
私のプロジェクトを変更してapp.configを使用し、コードベースのアプローチを放棄する必要がありますか?誰が私にメキシコが何であるか、なぜ私はそれが必要なのか、なぜ(それは明らかに)コードで呼び出すことができないのかを説明することができますか?一般に、いつapp.configを使用するのが良いでしょうか?また、WCFサービスのコードはいつですか?
私はまったく同じチュートリアルに従っており、コールバック契約を望んでいたので、私はtcpに切り替えた後、全く同じ問題がありました。 – bryanbcook