Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Windows服务的web服务部署_C#_Wcf_Windows Services_Wix_Windows Installer - Fatal编程技术网

C# 使用Windows服务的web服务部署

C# 使用Windows服务的web服务部署,c#,wcf,windows-services,wix,windows-installer,C#,Wcf,Windows Services,Wix,Windows Installer,我创建了一个windows服务,它使用某个位置托管的WCF服务 WCF服务端点在此windows服务的app.config中指定 我不确定我想要的是否真的是我对服务的正确理解。 我来了 我创建了一个安装程序,它将所有依赖的第三方dll封装到一个安装程序中 现在,问题是我是否必须将所有xsd文件复制到客户机文件夹中 如果是,那么在app.config中更改WCF端点是否会在安装后立即被windows服务采用(显然,只要合同保持不变),或者即使它发生了更改 我不能很好地表达这个问题,也许这就是为什么

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

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

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

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

现在,问题是我是否必须将所有xsd文件复制到客户机文件夹中

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

我不能很好地表达这个问题,也许这就是为什么谷歌搜索太多也没有给我任何答案的原因


请引导我理解这一点。

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

至于在app.config部署后修改端点,由Windows服务承载的WCF服务将乐于采用此方法,前提是您重新启动该服务。这是WCF最吸引人的特性之一,即无需更改代码即可指定连接方式(TCP、HTTP、P2P等)和连接位置(端点)。如果合同变更,事情就会变得更棘手。合同中的新增内容,例如新方法,可能是非破坏性的更改,但对现有方法的修改需要重新构建和重新部署代码