windows虚拟主机使用ASP.NET创建文件夹时关于IO类的问题
发布日期:2015-12-6 19:12:19
asp.net中的IO类虽然功能很强大,但是也正是因为强大的功能,所以在很多虚拟服务器上却并不实用 。因为IO.DirectoryInfo和IO.Directory在应用文件夹的操作中,会遍历网站所在的硬盘的磁盘根目录,一般虚拟主机出于对安全的考虑,并不会给这个磁盘的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)目前中国万网提供的虚拟主机已经开通了FSO,名称:hichinafso.dll,是免费的。大家可以试试用这种方式来建立文件夹。
|