wcf 配置文件与代码配置的优缺点
Posted
技术标签:
【中文标题】wcf 配置文件与代码配置的优缺点【英文标题】:Pros and Cons of wcf config file vs in code config 【发布时间】:2012-05-07 10:20:30 【问题描述】:我有一个自托管的 C# WCF 服务,它为各种目的创建了 20 多个端点。每个都在代码本身中配置,并在服务的 app.config 中使用一些基本配置项,例如端口和地址。该服务非常适合经过测试的客户,但尚未经过广泛测试。
我对标准的 wcf 配置文件方法有点了解,因为我担心最终用户会把事情搞砸,因此一切都在代码中完成。
在配置文件中进行配置是否更好,因为这样最终用户可以根据他们的需要对其进行自定义,或者代码中的方法足以满足大多数需求?
【问题讨论】:
我实际上想要一个明确的答案来回答这个问题,但我很想建议它对此有点开放。但是,我对有关该主题的意见很感兴趣。 【参考方案1】:WCF 的主要优点之一是将连接细节从代码中抽象出来。如果您需要更改任何服务参数,可以更轻松地通过 web.config 进行更改,而无需重新编译。例如,您可能需要更改“端口和地址”。如果您从代码中执行此操作,则需要重新构建,这可能不切实际。此外,我不确定为什么最终用户会正常使用 web.config,除非确实有必要。
简而言之,除非您有充分的理由不使用配置文件,否则您可能应该使用它们以充分利用 WCF 提供的抽象。
【讨论】:
【参考方案2】:你需要问自己一些问题
不同的开发者在他们的机器上有不同的价值观吗? 其他不使用 c# 的人是否必须更改这些设置值? (例如管理员) 以后是否需要针对性能调整某些值(例如消息大小)?如果其中任何一个问题的答案是肯定的,那么您需要将设置移动到 .config 文件中。如果您担心了解其他设置的客户端会意外弄乱您的 wcf 设置,您始终可以通过将 configSource
属性添加到每个标签的 web.config 或 app.config 文件来分隔设置,并将您的部分配置在子目录中的单独文件中,以减少意外更改的可能性。
【讨论】:
【参考方案3】:很简单,
如果您使用.config
文件,那么您将能够在编译代码后更改配置。这可能是好是坏,取决于您的情况。
【讨论】:
以上是关于wcf 配置文件与代码配置的优缺点的主要内容,如果未能解决你的问题,请参考以下文章