C# 返回流并将其写入磁盘?
我有一个ASP.NETWebAPI项目,它返回一个响应HttpResponseMessage,我正在将该消息的内容设置为一个已用流初始化的StreamContent 我正在尝试对流所表示的文件进行一些基本的本地缓存,我可以返回流并将其写入磁盘,而不必等待它完成写入磁盘后再返回请求者吗C# 返回流并将其写入磁盘?,c#,stream,C#,Stream,我有一个ASP.NETWebAPI项目,它返回一个响应HttpResponseMessage,我正在将该消息的内容设置为一个已用流初始化的StreamContent 我正在尝试对流所表示的文件进行一些基本的本地缓存,我可以返回流并将其写入磁盘,而不必等待它完成写入磁盘后再返回请求者吗 我正在考虑的另一种方法是将文件队列加载到本地缓存中,并将请求文件的id添加到队列中,然后将流作为响应发送回。然后让一个单独的工作进程处理队列,以便下次可以从本地缓存中检索文件 将流写入磁盘,然后返回对您不起作用吗?
我正在考虑的另一种方法是将文件队列加载到本地缓存中,并将请求文件的id添加到队列中,然后将流作为响应发送回。然后让一个单独的工作进程处理队列,以便下次可以从本地缓存中检索文件 将流写入磁盘,然后返回对您不起作用吗?我想这是我的问题,如果我开始在任务线程中读取流,同时将该流发送到客户端在那里读取,会发生什么?似乎读取一个流的两个进程不能很好地结束。我认为排队是正确的答案,但我想知道我是否遗漏了什么。
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, channelId);
response.Content = new StreamContent(myStream);
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
return response;