[英]ASP.NET Core 5 API write files on Azure Web App disk space
[英]There is not enough space on the disk on ASP.NET application
我在安装了 .NET 4.0 的 Windows IIS 机器上进行了以下设置。 2 个驱动器,C 和 D。包含我的网站的 inetpub 文件夹位于 D 驱动器上。
我唯一的网站将附件保存到D盘。
我的 C 驱动器上没有空间(为了争论 0kb)。
当 C 驱动器是没有空间的驱动器时,为什么在尝试通过网站“上传”附件到 D 驱动器时会出现以下错误? 例如,.NET 是否首先将其复制到 C 驱动器上的临时文件夹中?
这是错误:
[IOException: There is not enough space on the disk.
]
System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +9718418
System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count) +9555882
System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count) +146
System.Web.TempFile.AddBytes(Byte[] data, Int32 offset, Int32 length) +32
System.Web.HttpRawUploadedContent.AddBytes(Byte[] data, Int32 offset, Int32 length) +8788874
System.Web.HttpRequest.GetEntireRawContent() +9035719
System.Web.HttpRequest.GetMultipartContent() +68
System.Web.HttpRequest.FillInFormCollection() +247
System.Web.HttpRequest.get_Form() +104
System.Web.HttpRequest.get_HasForm() +9036655
System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +97
System.Web.UI.Page.DeterminePostBackMode() +69
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +135
IIS 使用的临时文件夹位于 C 驱动器上。 这就是导致此问题的原因。
IIS 正在尝试将文件写入通常位于C:\\Windows\\Microsoft.net\\Framework\\<version>\\Temporary ASP.NET Files
在搜索文本框中键入“运行”并按 Enter 按钮,然后单击“运行”。 现在在“运行”文本框中键入 %temp% 并按“确定”按钮。 现在它将打开所有临时文件位置,即“C:\\Users\\ASUS\\AppData\\Local\\Temp” 现在尽可能删除该文件夹中的所有文件。
甚至,当我运行 wcf 服务时,我也遇到了同样奇怪的错误。 从 C:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\Temporary ASP.NET Files 中删除临时 asp.net 文件后。 我又可以跑了。
使用右键单击菜单以管理员身份运行它。 如有必要,请重新启动计算机。 这对我很有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.