C# 如何测试和部署分布式应用程序?

C# 如何测试和部署分布式应用程序?,c#,deployment,C#,Deployment,我已经编写了一个客户机-服务器应用程序。一台计算机运行服务器应用程序,多台计算机运行客户端应用程序 到目前为止,每次我有了应用程序的新版本/补丁,我都会首先通过VNC将二进制文件复制到服务器应用程序,然后启动一个脚本,在客户端执行脚本,即将二进制文件复制到本地文件夹(网络执行不起作用!)。。。然后在每台客户端计算机上启动客户端应用程序 那么,有什么好机会可以取代我的旧式方法呢 我尝试创建一个单击一次的应用程序,该应用程序正在通过http/ftp进行更新。。。但是没有成功^^我们使用了一个名为Pr

我已经编写了一个客户机-服务器应用程序。一台计算机运行服务器应用程序,多台计算机运行客户端应用程序

到目前为止,每次我有了应用程序的新版本/补丁,我都会首先通过VNC将二进制文件复制到服务器应用程序,然后启动一个脚本,在客户端执行脚本,即将二进制文件复制到本地文件夹(网络执行不起作用!)。。。然后在每台客户端计算机上启动客户端应用程序

那么,有什么好机会可以取代我的旧式方法呢


我尝试创建一个单击一次的应用程序,该应用程序正在通过http/ftp进行更新。。。但是没有成功^^

我们使用了一个名为Presto的开源应用程序:

完成初始设置后,每个部署只有两个手动步骤:
1.将二进制文件复制到网络位置
2.按Presto中的按钮以启动新部署

Presto的最大优势在于,您可以使用它来初始设置应用程序和服务器,并为每个环境指定适当的配置设置。一旦启动部署,安装将自动进行,正确的值将写入配置文件(QA获取QA值,生产获取生产值,等等)


使用Presto,您可以停止服务、删除文件夹、复制新二进制文件、更新配置文件等。。。而且都是自动化的。

我们使用一个名为Presto的开源应用程序:

完成初始设置后,每个部署只有两个手动步骤:
1.将二进制文件复制到网络位置
2.按Presto中的按钮以启动新部署

Presto的最大优势在于,您可以使用它来初始设置应用程序和服务器,并为每个环境指定适当的配置设置。一旦启动部署,安装将自动进行,正确的值将写入配置文件(QA获取QA值,生产获取生产值,等等)


使用Presto,您可以停止服务、删除文件夹、复制新二进制文件、更新配置文件等。。。而且都是自动化的。

这就是为什么web前端如此流行的原因:)

尝试实现良好的自动更新机制和版本控制。客户机有硬编码的服务器版本,每个呼叫服务器都有自己的版本。版本不匹配时-自动更新的时间。在服务器上-它只是下载客户端应用程序安装的端点,这是跨版本的标准

所以客户机有一个外部更新程序进程,它是在客户机知道新版本存在后启动的。更新程序过程的目标是下载新的安装/包,或者运行将更新/重新安装客户端的安装,或者解包并复制新的/修改的文件

不使用某些外部库时。过程是这样的

单击一次是另一种方法,也应该有效

类似的问题就在这里


无论如何,您的客户端应用程序可能需要一个好的安装程序。当您的安装程序刚刚离开,要在服务上实现简单的下载程序/更新程序和版本控制时

这就是web前端如此流行的原因:)

尝试实现良好的自动更新机制和版本控制。客户机有硬编码的服务器版本,每个呼叫服务器都有自己的版本。版本不匹配时-自动更新的时间。在服务器上-它只是下载客户端应用程序安装的端点,这是跨版本的标准

所以客户机有一个外部更新程序进程,它是在客户机知道新版本存在后启动的。更新程序过程的目标是下载新的安装/包,或者运行将更新/重新安装客户端的安装,或者解包并复制新的/修改的文件

不使用某些外部库时。过程是这样的

单击一次是另一种方法,也应该有效

类似的问题就在这里


无论如何,您的客户端应用程序可能需要一个好的安装程序。当您的安装程序刚刚离开,要在服务上实现简单的下载程序/更新程序和版本控制时

用更少的代码实现这一点并不难

  • 在应用程序中设置http服务
  • 创建一个列出当前版本的文件
  • 在应用程序中设置ftp服务以提供新的二进制文件
  • 将Updater.exe应用程序添加到客户端,这将通过http检查新更新,并通过ftp下载新版本。此外,还应创建客户端版本文件
  • 所以你只要再做一次你的老方法,你就完成了!
    现在我不知道客户端应用程序是否可以运行服务器,如果是这样的话,我建议将服务(http、ftp)与服务器应用程序分离。

    用更少的代码实现这一点并不难

  • 在应用程序中设置http服务
  • 创建一个列出当前版本的文件
  • 在应用程序中设置ftp服务以提供新的二进制文件
  • 将Updater.exe应用程序添加到客户端,这将通过http检查新更新,并通过ftp下载新版本。此外,还应创建客户端版本文件
  • 所以你只要再做一次你的老方法,你就完成了!
    现在我不知道客户端应用程序是否可以运行服务器,如果是这样,我建议将服务(http、ftp)与服务器应用程序分离。

    我使用了开源软件部署。我建议使用wpkg。它很容易使用。它是使用javascript和xml实现的。我尝试创建一个通过http/ftp更新的点击一次应用程序。。。但是如果没有成功,你能更具体一点吗?我已经多次在http上使用Click Once,我使用了开源软件部署。我建议使用wpkg。它很容易使用。它是使用javascript和xml实现的