Dude Pascalou Asked: 2024-05-14 17:14:34 +0800 CST2024-05-14 17:14:34 +0800 CST 2024-05-14 17:14:34 +0800 CST 为什么 Microsoft.AspNetCore.Http.FormFile 没有实现 IDisposable? 772 Microsoft.AspNetCore.Http.FormFile( link ) 是IFormFile的默认实现,它表示随 HttpRequest 发送的文件。该类包含一个Stream,因此它应该实现 IDisposable。 怎么没有呢?这背后有设计原因吗? c# 1 个回答 Voted Best Answer Guru Stron 2024-05-14T17:20:54+08:002024-05-14T17:20:54+08:00 因为FormFile不是流的所有者,所以它接受流(请求一)作为构造函数参数,该参数由 ASP.NET Core 机制传递给它(例如此处)。例如,请求流可以被缓冲和读取多次,或者它可以包含多个文件等,因此FormFile不应该处置它,因此它不实现IDisposable.
因为
FormFile
不是流的所有者,所以它接受流(请求一)作为构造函数参数,该参数由 ASP.NET Core 机制传递给它(例如此处)。例如,请求流可以被缓冲和读取多次,或者它可以包含多个文件等,因此FormFile
不应该处置它,因此它不实现IDisposable
.