【发布时间】:2010-10-11 03:49:16
【问题描述】:
我有一个 WCF 服务,它通过 BL 调用数据层,最终调用 SQL Server 后端。我的服务公开了各种方法/操作以从数据库中获取数据。我还为它构建了一个用于测试的主机,以及一个 Windows 服务主机,这就是我计划部署它的方式。
昨天我进行测试部署时,服务启动正常,但我没有机会查看数据是否正确提取。事情是这样的:我的部署测试环境(MS Server 2003)与我自己的(笔记本电脑)本地测试环境完全不同。我通过将 Windows 服务项目的 bin\debug 内容复制到服务器上并在使用 InstallUtil.exe 时在服务器上引用 .exe 来进行部署。但是 DL 的数据连接应该采用不同的连接字符串,显然,因为它应该连接到服务器上的数据库,而不是我的笔记本电脑。然而,我在部署到的目录中看到的唯一 app.config 是服务主机的那个。其他项目,如 DL 和 BL,也以 DLL 的形式存在,但两者都没有 app.config。那么如何将 DL 的 app.config 替换为该环境的正确配置呢?我确定这是一个简单的问题,我只是不知道。
一个相关的问题:如果我们稍后决定要使用 HTTP 主机来代替 - 或除了 - TCP,我可以运行第二台主机来驱动相同的服务吗?我是否只需要使用 IIS 部署主机并将服务节点添加到 app.configs 中?
【问题讨论】:
标签: wcf http tcp deployment