• 首页 > 
  • Windows系统的云虚拟主机使用ASP.NET程序创建文件夹提示IO类的问题

Windows系统的云虚拟主机使用ASP.NET程序创建文件夹提示IO类的问题

KB: 36447

 · 

更新时间:2020-07-25 18:49

问题描述

Windows系统的云虚拟主机使用ASP.NET程序创建文件夹,提示以下错误。

未找到路径“:\”的一部分。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.IO.DirectoryNotFoundException: 未找到路径“
:\”的一部分。
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[DirectoryNotFoundException: 未找到路径“:\”的一部分。]  
System.IO.__Error.WinIOError(Int32 errorCode, String str) +287  
System.IO.Directory.InternalCreateDirectory(String fullPath, String path) +489  
System.IO.Directory.CreateDirectory(String path) +195 
———————————-
版本信息: Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300

问题原因

ASP.NET程序的IO类功能虽然很强大,但是在很多云虚拟服务器上并不实用 。因为IO.Directory和IO.DirectoryInfo在应用文件夹操作中,会遍历网站所在的硬盘的磁盘根目录,为了安全考虑,并不会给磁盘的Network service用户开启读取权限,所以在操作文件夹的时候,使用IO下的这两个类会出现以上错误。

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

请参见以下内容,使用ASP.NET程序中应用fso创建文件夹。

项目->引用  浏览  COM组件  Microsoft  Scripting  Runtime  
Scripting.FileSystemObject  fso=new  Scripting.FileSystemObjectClass();

说明:fso.CreateFolder(Path)目前中国万网提供的虚拟主机已经开通了FSO,名称为hichinafso.dll,并且是免费的,可以使用这种方式建立文件夹。

适用于

  • 云虚拟主机