将WCF服务Web.config移植到Windows服务App.config

时间:2011-11-03 22:07:40

标签: wcf windows-services configuration-files

我一直在使用已经使用IIS部署到各种计算机的大约12个WCF服务。所有绑定/配置都保存在通常的“web.config”文件中,该文件是为了使服务更易于配置而保持服务代码本身更加干净。但是,我最近的任务是创建一个Windows服务来托管这些WCF服务。我有一个问题是,我是否只是将web.config文件中的所有设置复制到Windows服务的App.config文件中?或者我是否需要重新配置所有端点/绑定/等。在App.config文件中使用不同的格式?我以前从未创建过Windows服务,而且在创建Windows服务主机后,我不能100%确定安装所需的内容。提前谢谢。

2 个答案:

答案 0 :(得分:1)

web.config中的WCF配置元素应直接转换为app.config。我过去曾剪切并粘贴过像这样的web.config元素。唯一需要注意的是web.config和app.config都没有像某些元素那样重复,所以如果你要合并来自多个web.config文件的配置数据,你必须确保你不重复部分应该只存在一次。

答案 1 :(得分:1)

我一直认为.NET配置模型不适合WCF服务配置。

有一种方法可以让WCF从其他位置检索其配置。我喜欢设置它以便WCF服务从ServiceName.config而不是web.configAppName.exe.config检索其配置信息。这解决了Harper Shelby提到的重复元素的问题。

Here's a full explanation and some code.

使用该自定义服务主机,将WCF服务从IIS移动到自托管模型非常简单。

另见WCF Configuration - Split it out of app.config