繁体   English   中英

ASP.NET 应用程序磁盘空间不足

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM