10

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

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

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

4

3 回答 3

5

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

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

于 2012-04-26T16:38:04.170 回答
3

你需要问自己一些问题

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

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

于 2012-04-26T16:40:56.247 回答
0

简单地,

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

于 2012-04-26T16:41:30.583 回答