【问题标题】:Pros and Cons of wcf config file vs in code configwcf 配置文件与代码配置的优缺点
【发布时间】:2012-05-07 10:20:30
【问题描述】:

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

我对标准的 wcf 配置文件方法有点了解,因为我担心最终用户会把事情搞砸,因此一切都在代码中完成。

在配置文件中进行配置是否更好,因为这样最终用户可以根据他们的需要对其进行自定义,或者代码中的方法足以满足大多数需求?

【问题讨论】:

  • 我实际上想要一个明确的答案来回答这个问题,但我很想建议它对此有点开放。但是,我对有关该主题的意见很感兴趣。

标签: c# wcf configuration


【解决方案1】:

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

简而言之,除非您有充分的理由不使用配置文件,否则您可能应该使用它们以充分利用 WCF 提供的抽象。

【讨论】:

    【解决方案2】:

    你需要问自己一些问题

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

    如果其中任何一个问题的答案是肯定的,那么您需要将设置移动到 .config 文件中。如果您担心了解其他设置的客户端会意外弄乱您的 wcf 设置,您始终可以通过将 configSource 属性添加到每个标签的 web.config 或 app.config 文件来分隔设置,并将您的部分配置在子目录中的单独文件中,以减少意外更改的可能性。

    【讨论】:

      【解决方案3】:

      很简单,

      如果您使用.config 文件,那么您将能够在编译代码后更改配置。这可能是好是坏,取决于您的情况。

      【讨论】:

        猜你喜欢
        • 2011-07-03
        • 1970-01-01
        • 1970-01-01
        • 2010-09-08
        • 2018-10-28
        • 2011-03-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多