Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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
.net WCF服务重新启动_.net_Wcf - Fatal编程技术网

.net WCF服务重新启动

.net WCF服务重新启动,.net,wcf,.net,Wcf,我们有一个使用WCF服务的简单桌面应用程序。有时我们会升级我们的桌面应用程序和WCF服务。升级wcf服务并不令人头痛!但是是的,桌面应用程序 一些用户忽略我们的通知,从不复制或安装最新的桌面应用程序。他们一直在运行旧版本的桌面应用程序 我如何判断WCF服务已重新启动,以便在一个位置添加版本检查逻辑并强制用户复制桌面应用程序 为什么不在服务上保留版本号,当应用程序尝试与WCF对话时,服务会检查传入的桌面应用程序版本号,只有在正确的版本匹配时才会处理请求???不知道这在您的情况下是可能的,但使用Cl

我们有一个使用WCF服务的简单桌面应用程序。有时我们会升级我们的桌面应用程序和WCF服务。升级wcf服务并不令人头痛!但是是的,桌面应用程序

一些用户忽略我们的通知,从不复制或安装最新的桌面应用程序。他们一直在运行旧版本的桌面应用程序


我如何判断WCF服务已重新启动,以便在一个位置添加版本检查逻辑并强制用户复制桌面应用程序

为什么不在服务上保留版本号,当应用程序尝试与WCF对话时,服务会检查传入的桌面应用程序版本号,只有在正确的版本匹配时才会处理请求???

不知道这在您的情况下是可能的,但使用ClickOnce部署可以增加此要求

如果ClickOnce不可行,您可以在服务中添加一个版本方法来满足应用程序的要求,并在应用程序中,在启动时或按计划的时间间隔,查询此服务并强制用户安装新应用程序

还可以研究更复杂的解决方案。你可以编写一个“bootstrapper”应用程序,它将检查应用程序的版本,安装新的应用程序(如果可用),然后只启动实际的应用程序

另一个选择是搬到SilverLigth。我不确定它是否适用,因为您正在谈论windows服务选项


最后,您可以看一下,它可以让您走上正轨

您可以在应用程序中实现自动更新功能,您可以从中提供的现成代码实现

当您更新服务时,您可以将相应的更新文件放在web上,您的应用程序将下载更新文件。因此,版本不匹配的问题永远不会出现


关于,

我们这样做。。。在启动时,但避免了在每个公开的WCF调用中进行版本控制检查。。有没有什么内在的机制可以解决!在纯远程环境中可用的任何东西老实说,我不相信有,主要是因为它不像TCP那样检查发送消息、接收响应并保持连接。。但是这只是一个想法,但是如果您将服务保持打开状态的时间超过一个请求,那么您可以在服务实例化时检查服务设置。