【问题标题】:Limiting performance factors of WCF to transfer files限制 WCF 传输文件的性能因素
【发布时间】:2012-09-28 19:34:52
【问题描述】:

我正在开发一项自动软件更新服务,其中客户端通过 Internet 获取软件的更新版本,我们正在考虑通过 HTTP 从远程服务器下载,因为它不受防火墙限制。

更新服务器,必须能够验证请求,检查软件的许可证,并为客户端提供正确的更新文件(好像可能有多个版本的软件需要更新)

一个 ASP.net Web 应用程序可能能够完成这项工作,但是我试图避免一个 Web 应用程序,因为它需要安装在 IIS 中。我正在考虑使用Streamed transferMode 在 Windows 服务中托管一个 basicHttp WCF 库,但是我读过文章说“使用 WCF 传输文件不是一个好习惯!我想知道为什么 WCF 不是文件传输技术? 有哪些限制和替代方案?

您是否建议为此工作使用 WCF Windows 服务?

【问题讨论】:

标签: c# wcf auto-update


【解决方案1】:

这并不能完全回答您关于 WCF 和传输文件的问题,但是不久前我构建了一个自动更新程序应用程序,它有一个小型客户端前端到 WinForms 应用程序。它将获取本地文件列表,生成每个文件的 MD5 哈希,并将其发送到 Web 服务,以便与 Web 服务器上的本地文件列表进行比较。 Web 服务方法返回了更改的文件列表。

然后,客户端将遍历该列表并调用另一个 Web 服务,该服务将为每个文件返回一个字节数组并将其转储到本地硬盘驱动器。

完成后,它将在更新的应用程序的 exe 上执行 Process.Start。

它已经在生产环境中运行了一年多,有几百个活跃用户,没有出现任何问题。

【讨论】:

  • 您可能希望共享部分配置,这些配置涉及您的 WCF 服务的速率限制、超时等;我敢打赌这就是他会遇到问题的地方。
猜你喜欢
  • 2012-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-01
  • 1970-01-01
  • 2015-02-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多