• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

网站项目Directory.Move出现IOException,路径无重复且格式良好,请高手解答。

Mr.Osc 2006-05-20 04:08:16
在程序集中编写以下代码:
if (HttpContext.Current.Server != null)
{
System.IO.Directory.Move(
HttpContext.Current.Server.MapPath("~/oldPath"),
HttpContext.Current.Server.MapPath("~/newPath"));
}
编译成DLL并复制到站点的bin目录下,站点中有aspx页面对以上程序集的相关方法调用后出现
System.IO.IOException异常:
“对路径disk:\oldPath的访问被拒绝。”
oldPath和newPath并未重复,newPath的路径在执行Move之前并不存在,newPath和oldPath均为合格路径且在同一盘符下。
在VS2005+WINXP环境下调试可以正常执行并无任何异常。WIN2003 SERVER+IIS6下则出现异常,IIS中启用匿名访问,未经其它特殊设置。
请各位高手能告诉我解决方法或者给出相关的网络资源链接,十分感谢!
...全文
69 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Mr.Osc 2006-05-20
结帖:
我的理解是无论Windows认证还是Forms认证,在对受保护资源认证授权通过后,运行身份会移交给ASP.NET工作进程的身份,在未启用模拟的情况下,XP是ASPNET用户,而2003SERVER是NETWORK SERVICE。
回复
Mr.Osc 2006-05-20
非常感谢思归老大,我在IIS6的帮助文档中看ASP.NET数据流关于Forms身份验证的方案中,如果启用了匿名登录和Forms身份验证模式时,受保护资源访问的验证和授权是应用程序来控制,是否因为程序集的运行权限和资源访问并不是同一身份?
回复
saucer 2006-05-20
in Windows 2003, ASP.NET runs as Network Service account, make sure you give this account or IIS_WPG group read or write access to your folders
回复
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2006-05-20 04:08
社区公告
暂无公告