注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

_

_

 
 
 

日志

 
 

空间不能Directory.CreateDirectory的问题  

2014-08-22 12:59:53|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
空间不能Directory.CreateDirectory的问题

2011-04-17 11:11:32|? 分类: asp.net/c#/ajax |? 标签:directory mappath 路径 创建目录 asp |举报 |字号大中小 订阅

在实际的应用中,我们发现很多的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表示你的操作系统安装的路径)

另外:给根目录system所有权限就可以了,不一定要给aspnet权限的。

  评论这张
 
阅读(284)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017