我正在比较WCF的两个例子.Microsoft的示例http://msdn.microsoft.com/en-us/library/ms734712.aspx使用app.config文件,使用生成器svcutil.exe生成客户端,并且通常会生成更多代码.
另一个例子http://www.switchonthecode.com/tutorials/wcf-tutorial-basic-interprocess-communication简单得多 - 只有两个C#文件,没有自动生成的代码,没有app.config.
两个例子似乎都做同样的事情.
问题是:
WCF 允许您以编程方式或通过配置来配置绑定。如果您(或测试团队/客户等其他人)尝试不同的绑定选项,配置有时会很方便。例如,QA 团队可能正在进行性能测试并尝试不同的方法通过网络序列化数据。或者,客户可能有不同的防火墙限制等......
在这两种情况下,能够动态更改绑定选项而无需重新编译是很有用的。
如果您确切地知道如何发送数据,那么以编程方式配置它并将其编译到您的代码中可能是最好的选择。它当然更容易配置并且更不容易出错。