c# - 使用 wcf 服务改进文件复制过程
问题描述
我正在尝试用 C# 编写一个应用程序,它可以通过两种方式复制数据。
使用 System.IO 命名空间的 .Net CopyFile 方法将文件从源计算机复制到目标计算机。通过这种方式,它使用 SMB 协议进行复制。
使用流阅读器从客户端文件中读取块并将其发送到目标计算机上托管的已连接 WCF 服务。WCF 服务将数据写入目标机器磁盘。我一次正在读取和发送 1 MB 数据。
在我的场景中,与 1 Gbps 网络上的 SMB(第一种方法)相比,使用 WCF 服务的第二种方法运行速度较慢。
有人建议使用 TCP 窗口缩放。请建议这是否有用,或者让我知道改进它的方法。
在大多数情况下,使用 netTcpbinding 实现 WCF 的工作速度比 SMB 快。但是当客户端在托管 WCF 服务的目标计算机上安装了多个 nic 时,它就卡住了。但在这种情况下,普通副本(第一种方法)工作得更快。
解决方案
推荐阅读
- javascript - 如何在 JavaScript 中从另一个文件加载对象?
- django - Wagtail - 每个用户一个“个人资料”页面
- stata - 如何使用 asdoc 更改列和行
- javascript - 如何在反应谷歌地图中编辑多边形
- python-3.x - sm.current 不切换屏幕
- python - 如何在python中正确停止运行异步进程
- python - 无法使用带有 python:3.9-alpine 图像的 docker 容器通过 webdriver-manager 运行 selenium pytest 测试
- verilog - 设计上的 JK 触发器 verilog 代码错误
- node.js - 初始化 GridFS 流时无法从回调函数中获取 gfs 值
- c# - 如何对带有异步的流进行单元测试