如何与HttpListener一起使用TransmitFile
本文关键字:TransmitFile 一起 HttpListener | 更新日期: 2023-09-27 18:10:41
我使用HttpListener编写了HTTP服务器,并希望使用零复制技术向客户端发送文件。
是否有任何选项使用TransmitFile来响应?
我想你指的是HttpResponse.TransmitFile
?HttpListener不缓冲响应内容,所以您只需要直接写入输出流。
您可以使用像这样的扩展方法来模拟ASP。网络行为:
public static void TransmitFile(this HttpListenerResponse response, string fileName)
{
using (var fileStream = File.OpenRead(filename))
{
response.ContentLength64 = fileStream.Length;
fileStream.CopyTo(response.OutputStream);
}
}