C# streamreader网络使用主机上的内存

C# streamreader网络使用主机上的内存,c#,networking,filestream,C#,Networking,Filestream,在C语言中,我使用文件流在另一个Windows机箱上承载的网络上打开文件,我很好奇这会对承载该文件的计算机产生什么影响。访问计算机是否直接从硬盘上逐块抓取?主机是否将文件放入内存?我猜这有点超出了实际的编程领域,因为这可能是操作系统级别的东西,但我想我应该在这里问一下 我主要担心的是,如果主机实际上必须将文件打开到内存中才能发送,那么如果同时访问大量文件,我可能会耗尽其内存。Windows使用SMB协议进行远程文件读/写。可以找到参考信息 它不会加载主机服务器内存中的所有内容,传输将以流方式进行

在C语言中,我使用文件流在另一个Windows机箱上承载的网络上打开文件,我很好奇这会对承载该文件的计算机产生什么影响。访问计算机是否直接从硬盘上逐块抓取?主机是否将文件放入内存?我猜这有点超出了实际的编程领域,因为这可能是操作系统级别的东西,但我想我应该在这里问一下


我主要担心的是,如果主机实际上必须将文件打开到内存中才能发送,那么如果同时访问大量文件,我可能会耗尽其内存。

Windows使用SMB协议进行远程文件读/写。可以找到参考信息

它不会加载主机服务器内存中的所有内容,传输将以流方式进行。即使在客户端上调用File.ReadAllBytes,主机服务器也会通过SMB协议将其流式传输到客户端

主机上的内存利用率将取决于一次连接的客户端数量。更多的客户端同时传输文件自然意味着主机上的内存利用率更高。除此之外,单个文件传输本身对主机中的额外内存分配的影响应该很小