wcf配置文件vs代码配置的优点和缺点

时间:2012-04-26 16:31:51

标签: c# wcf configuration

我有一个自托管的C#WCF服务,可以为各种目的创建20多个端点。每个都在代码本身配置,在服务的app.config中有一些基本的配置项,如端口和地址。该服务非常适合经过测试的客户,但尚未经过广泛测试。

我对标准的wcf配置文件方法有点小心,因为我担心最终用户会把事情弄得乱七八糟,因此会用代码完成所有事情。

在配置文件中进行配置是一个更好的主意,因为最终用户可以根据自己的需要对其进行自定义,还是满足大多数需求的代码方法?

3 个答案:

答案 0 :(得分:5)

WCF的一个主要好处是从代码中抽象出连接细节。如果您需要更改任何服务参数,可以更轻松地从web.config执行此操作,而无需重新编译。例如,您可能需要更改“端口和地址”。如果从代码中执行此操作,则需要重建,这可能不切实际。此外,我不确定为什么最终用户会正常搞乱web.config,除非真的有必要。

简而言之,除非您有充分的理由不使用配置文件,否则您应该使用它们以获得WCF提供的抽象的全部好处。

答案 1 :(得分:3)

你需要问自己一些问题

  • 不同的开发者在他们的机器上有不同的价值吗?
  • 其他不使用c#的人是否必须更改这些设置值? (例如管理员)
  • 稍后是否需要调整某些值(例如邮件大小)?

如果对这些问题的答案是肯定的,那么您需要将设置移动到.config文件中。如果您担心理解其他设置的客户会意外搞乱您的wcf设置,您可以随时通过将configSource属性添加到web.config或app.config文件中来为每个标记分别设置并放置部件您的配置在子目录中的单独文件中,以减少意外更改的可能性。

答案 2 :(得分:0)

简单地说,

如果使用.config文件,则可以在编译代码后更改配置。这可能是好事也可能是坏事,具体取决于你的情况。