我创建了一个Windows服务,它使用托管在某个位置的WCF服务。
WCF服务端点在此Windows服务的app.config中指定。
我不确定我想要的是否是对服务的正确理解。 所以我走了。
我创建了一个wix安装程序,它将我所有依赖的第三方dll封装到一个安装程序中。
现在,问题是我必须将所有xsd文件复制到客户端文件夹吗?
如果是,那么稍后在安装后更改app.config中的WCF端点,Windows服务是否会轻易采用新端点(显然只要合同保持不变)或者即使它发生变化。?< / p>
我无法很好地表达这个问题,也许这就是为什么即使足够的谷歌搜索也没有给我任何答案。
请指导我理解这一点。
答案 0 :(得分:0)
如果您的服务/ dll在运行时使用它们,则需要复制.xsd文件。我认为这是这种情况,因为.xsd文件仅在开发环境中使用时不太可能(虽然肯定是可能的)。如果您对此有任何疑问,可以尝试在另一个系统上安装该服务,看看它是否在没有它们的情况下成功运行。试错法不是测试软件最有效的方法,但它可以100%的时间工作。
对于部署后app.config中的端点修改,Windows服务托管的WCF服务很乐意采用这种方式,即重启服务。这是WCF最吸引人的功能之一,即您连接的如何(TCP,HTTP,P2P等)和您连接的(端点)可以被指定无需更改代码。如果合同发生变化,事情会变得更加棘手。合同的增加,例如新方法,可能是非破坏性的变更,但对现有方法的修改将需要重建和重新部署代码。
HTH