asp.net创建目录的IO类的问题

[ 2009-08-12 16:26:43 | 作者: admin ]
字号: | |
c#中.net中得IO类虽然功能非常强大,不过正是因为功能强大,所以在非常多虚拟服务商的服务器上并不实用 。因为IO.Directory和IO.DirectoryInfo在应用目录操作中,会遍历网站所在的硬盘的磁盘跟目录,一般虚拟服务商并不会给这个磁盘的Network service用户开启读取权限,所以在操作目录的时候,使用IO下的这两个类会出现如下错误
未找到路径“E:\”的一部分。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误及代码中导致错误的出处的周详信息。

异常周详信息: System.IO.DirectoryNotFoundException: 未找到路径“E:\”的一部分。

源错误:

执行当前 Web 请求期间生成了未处理的异常。能使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:

[DirectoryNotFoundException: 未找到路径“E:\”的一部分。]
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

其中未找到路径E:\,E盘就是服务器上磁盘路径,可能会因为服务器的不同而不同。面对这个问题,服务商又不肯给你多开权限的情况下,应该怎么解决呢?

asp能应用fso创建目录。于是想到用asp.net调用window中得fso组件。

项目->引用 浏览 COM组件 Microsoft Scripting Runtime

Scripting.FileSystemObject fso=new Scripting.FileSystemObjectClass();

fso.CreateFolder(Path)

就能了,不过此种解决方法的前提是虚拟服务商开启了FSO

至于IO操作目录得两个类为什么会遍历磁盘根目录还在研究中,不过问题终于解决了,希望了解此的人能给大家一个答案。
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=1262

这篇日志没有评论。

此日志不可发表评论。