如果你服务器为win2000,请给分区根目录(d:\)aspnet用户读取权限,为空间安全你可以把除你的网站目录外其它目录权限中的aspnet用户删除
在实际的应用中,我们发现很多的Asp.NET空间提供商并没有相关的经验,而依然停留在Asp的管理模式中。
其中最常见,就是目录权限的配置上:他们大多数沿习了Asp的经验,给用户所在目录赋于所有权限,然后将磁盘根目录的相关权限全部去掉。
这样以来就导致一个问题,就是Asp.NET中的 Server.MapPath 无法使用,这个方法却是创建目录或文件所必须的,如下面创建目录的代码:
Directory.CreateDirectory(Server.MapPath("Test"));
这是一个非常简单的操作:在用户的当前目录下创建一个名为 "Test" 的子目录。
然后就是这样一个操作在没有正确配置的空间就会无法运行,它会提示为什么会有这样的错误呢?
原因就是 Server.MapPath() 这个方法,这个方法是让一个相对路径转为绝对路径,而在转换的过程序中,.NET框架需要得到当前硬盘的一些属性,如盘符等,而这个时候,空间提供商却将.Net用户对磁盘根目录的权限全部拒绝,从而导致程序无法正常运行。
有个时候,空间提供商会说:"你为什么要用绝对路径,而不使用相对路径呢?"
这是行不通的,如果你这样程序:Directory.CreateDirectory("Test");
系统在运行的时候,并不是象你想像的那样,会自动在用户的当前目录下创建目录,而会尝试在 "C:\WINNT\System32" 路径下创建目录 (其中的C:\WINNT表示你的操作系统安装的路径)
