c# - 如何强制 File.Move/File.Copy 使用特定的网络接口(interface)卡 (NIC) C#?

标签 c# .net

我有一台带有多个网卡的机器。我的过程非常消耗网络资源,因为它通过网络将许多文件复制到另一台机器上的共享位置(例如“\...”)。

我想为该进程设置专用 NIC,但是 File.Copy\File.Move 的 C# IO API 屏蔽了所使用的 NIC。

如何在 C# 中甚至通过在 C# 项目下使用一些 C++ 调整来完成?

最佳答案

File.Move()File.Copy() 实际上没有任何网络知识。它完全依赖操作系统来处理所有事情。因此,如果您将文件移动/复制到恰好是网络安装的路径......那么就这样吧。但是 Move()Copy() 并不关心。

也就是说,您可以通过可以绑定(bind)到 NIC 的 Sockets 设置一个协议(protocol)。

假设您有一个位于“123.1.2.3”上的 NicA 和位于“156.2.3.4”上的 NicB。然后,您可以创建一个套接字并将 Bind() 连接到与您关心的 NIC 相匹配的 IPAddress

关于c# - 如何强制 File.Move/File.Copy 使用特定的网络接口(interface)卡 (NIC) C#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21123607/

相关文章:

c# - 如何通过在 DataTable 中给出列名来获取行值

c# - Visual Studio Code : How to see all classes inherited from a base class or interface?

c# - 优化 RIA 服务的 Azure 存储查询

c# - 将 BigIntegers 相除以返回 double

c# - WebBrowser-Control - 点击链接打开默认浏览器

c# - 在 C# 中使用信号量

c# - 指针按下 : left or right button?

c# - 如何取消winform中的任何事件?

c# - ActionBlock 似乎有时会忽略 MaxDegreeOfParallelism

c# - 如何从另一个类访问变量以更新我的 ViewModel