哪种WCF配置方法更智能?

我正在阅读2本关于WCf的书,其中一本显示配置为App.Config,另一本显示通过Code in C#

我想知道我应该使用哪种方法,以及彼此有什么好处。 Wcf配置向导是否也支持配置后面的c#代码?

谢谢你的回答。

我想这取决于你的需求。 我个人倾向于使用代码配置wcf,特别是对于不太可能改变的事情。 这可能包括error handling程序/记录器,行为,身份validation模块,服务主机工厂等

对于更加动态的东西,比如连接字符串,密码,文件路径等都在.config文件中配置。

使用代码的最大优势之一是您的代码现在可以支持IOC /dependency injection,编译时检查等。

我并不认为所有内容都应该在配置文件中,因为它更容易更改。 在大多数情况下,我看到它从未改变过生产。

配置文件可以在不重建的情况下进行更改(比如说,添加自定义检查器或序列化程序),在客户端/服务器之间进行复制/粘贴非常容易,并且得到了IDE工具的支持。

如果您在运行时配置系统(即从其他服务器获取信息),或者作为库(dll)运行并且不能保证配置文件将:存在,或者b:具有您的配置,则代码很方便。 代码还具有智能感知/静态检查,以避免脑死亡错误(xml中的拼写错误等)。

我会使用一个文件,直到你知道你的文件无法正常运行。

还要考虑:部署代码更改与配置更改有多难? 对我来说,它们大致相同,但对你来说可能并非如此。 也许更改机器上的配置更容易? 也许不吧。

配置文件方法更好,它提供了更大的灵活性。 例如,我通过更改配置文件来更改身份validation类型(用户名密码/窗口)。