【问题标题】:Windows Service consuming web service deploymentWindows 服务使用 Web 服务部署
【发布时间】:2014-09-10 12:23:49
【问题描述】:

我创建了一个 Windows 服务,它使用托管在某个位置的 WCF 服务。

WCF 服务端点在此 windows 服务的 app.config 中指定。

我不确定我想要的是否真的是我对服务的正确理解。 所以我来了。

我创建了一个 wix 安装程序,它将我所有依赖的第三方 dll 封装到一个安装程序中。

现在,问题是我必须将所有 xsd 文件复制到客户端文件夹吗?

如果是,那么在安装后是否会更改 app.config 中的 WCF 端点,新端点是否会被 Windows 服务轻松采用(显然只要合同保持不变)或者即使它发生了变化。?

我无法很好地表达这个问题,也许这就是为什么即使谷歌搜索足够多也没有给我带来任何答案的原因。

请指导我理解这一点。

【问题讨论】:

    标签: c# wcf windows-services wix windows-installer


    【解决方案1】:

    如果您的服务/dll 在运行时使用它们,则需要复制 .xsd 文件。我认为是这种情况,因为 .xsd 文件不太可能(尽管肯定有可能)仅在开发环境中使用。如果您对此有任何疑问,您可以随时尝试在另一个系统上安装该服务,看看它是否在没有它们的情况下成功运行。反复试验并不是测试软件的最有效方法,但它在 100% 的时间内都有效。

    至于在部署后修改 app.config 中的端点,只要您重新启动服务,由您的 Windows 服务托管的 WCF 服务将很乐意采用这一点。这是 WCF 最吸引人的特性之一,即可以指定 如何 连接(TCP、HTTP、P2P 等)以及 在哪里 连接(端点)无需更改代码。如果合同发生变化,事情就会变得更加棘手。对合约的添加(例如新方法)可能是非破坏性更改,但对现有方法的修改将需要重新构建和重新部署代码。

    HTH

    【讨论】:

      猜你喜欢
      • 2010-11-09
      • 2011-06-30
      • 2011-06-12
      • 1970-01-01
      • 2017-07-02
      • 1970-01-01
      • 2011-02-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多