asp.net创建文件夹的IO类的问题
asp.net中得IO类虽然功能很强大,但是正是因为功能强大,所以在很多虚拟服务器上并不实用
。因为IO.Directory和IO.DirectoryInfo在应用文件夹操作中,会遍历网站所在的硬盘的磁盘根目录,一般虚拟主机为了安全考虑,并不会给这个磁盘的Network
service用户开启读取权限,所以在操作文件夹的时候,使用IO下的这两个类会出现如下错误
未找到路径“*:\”的一部分。
说明: 执行当前 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程序中可以应用fso创建文件夹。于是可以利用到asp.net调用window中得fso组件。
项目->引用 浏览 COM组件 Microsoft Scripting Runtime
Scripting.FileSystemObject fso=new Scripting.FileSystemObjectClass();
fso.CreateFolder(Path)目前时代互联提供的虚拟主机windows操作系统的已经开通了FSO,并且是免费的。大家不妨试试这种方式建立文件夹。