Windows服务使用Web服务部署

时间:2014-09-10 12:23:49

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

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

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

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

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

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

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

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

请指导我理解这一点。

1 个答案:

答案 0 :(得分:0)

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

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

HTH