我有一个自托管的 C# WCF 服务,它为各种目的创建了 20 多个端点。每个都在代码本身中配置,并在服务的 app.config 中使用一些基本配置项,例如端口和地址。该服务非常适合经过测试的客户,但尚未经过广泛测试。
我对标准的 wcf 配置文件方法有点了解,因为我担心最终用户会把事情搞砸,因此一切都在代码中完成。
在配置文件中进行配置是一个更好的主意,因为这样最终用户可以根据他们的需要对其进行自定义,还是代码中的方法足以满足大多数需求?
我有一个自托管的 C# WCF 服务,它为各种目的创建了 20 多个端点。每个都在代码本身中配置,并在服务的 app.config 中使用一些基本配置项,例如端口和地址。该服务非常适合经过测试的客户,但尚未经过广泛测试。
我对标准的 wcf 配置文件方法有点了解,因为我担心最终用户会把事情搞砸,因此一切都在代码中完成。
在配置文件中进行配置是一个更好的主意,因为这样最终用户可以根据他们的需要对其进行自定义,还是代码中的方法足以满足大多数需求?
WCF 的主要好处之一是将连接细节从代码中抽象出来。如果您需要更改任何服务参数,可以更轻松地通过 web.config 进行更改,而无需重新编译。例如,您可能需要更改“端口和地址”。如果您从代码中执行此操作,则需要重新构建,这可能不切实际。此外,我不确定为什么最终用户会正常使用 web.config,除非确实有必要。
简而言之,除非您有充分的理由不使用配置文件,否则您应该使用它们以获得 WCF 提供的抽象的全部好处。
你需要问自己一些问题
如果这些问题的答案是肯定的,那么您需要将设置移动到 .config 文件中。如果您担心了解其他设置的客户端会在意外中弄乱您的 wcf 设置,您始终可以通过将configSource
属性添加到每个标签的 web.config 或 app.config 文件中来分离设置,并将部分配置放在单独的子目录中的文件,以减少意外更改的可能性。
简单地,
如果您使用该.config
文件,那么您将能够在编译代码后更改配置。这可能是好是坏,取决于您的情况。