私は WCF サービスの使用方法を学んでおり、この MSDN 記事の 6 ステップのチュートリアルに従うことから始めました。第 4 部では、クライアント コードを生成するための svcutil.exe の使用について説明し、第 5 部では、WCF クライアントを構成する大きくて見栄えの悪い XML ファイルを示します。svcutil.exeとこの XMLを使用することは、WCF デモに採用した非常に単純なソリューションに比べて非常に重いように思えます。
class Program
{
static void Main(string[] args)
{
WSHttpBinding bhb = new WSHttpBinding();
EndpointAddress epa = new EndpointAddress("http://localhost:8000/index/ServiceReference1");
ChannelFactory<ServiceReference1.IDemoChannel> cf = new ChannelFactory<ServiceReference1.IDemoChannel>(bhb, epa);
cf.Open();
ServiceReference1.IDemoChannel channel = cf.CreateChannel();
channel.Open();
String s = channel.getHelloWorld(5);
channel.Close();
cf.Close();
Console.WriteLine("Result: {0}", s);
Console.WriteLine("I'm the client! Press Enter to exit...");
Console.ReadLine();
}
}
クライアントを構成するこれら 2 つの非常に異なる方法を見てきましたが、生成されたコードと XML ファイルを使用する利点は何でしょうか。
更新: チュートリアルのパート 5 で XML ファイルを読み直しましたが、XML ファイルが複製されているようで、意図した XML を見て、質問の XML の側面を撤回しました。私が本当に求めているのは、「クライアント コードを書くことはそれほど悪くないように思えるのに、なぜ svcutil.exe を使用してコードを生成したいのか」ということだと思います。