发布在IIS6.0上的网站,执行SetCurrentDirectory方法时出现异常:
System.UnauthorizedAccessException: Access to the path 'D:\www\web\2012330zhang2.com_2mk8pM0wDKEGJXWh8uy5\wwwroot\App_Data' is denied. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.Directory.SetCurrentDirectory(String path) at createLucenceIndex.Page_Load(Object sender, EventArgs e) in d:\www\web\2012330zhang2.com_2mk8pm0wdkegjxwh8uy5\wwwroot\createLuceneIndex.aspx.cs:line 16
看这样子应该是权限问题,有谁知道执行这个方法具体需要哪个用户和权限呢?
System.UnauthorizedAccessException: Access to the path 'D:\www\web\2012330zhang2.com_2mk8pM0wDKEGJXWh8uy5\wwwroot\App_Data' is denied. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.Directory.SetCurrentDirectory(String path) at createLucenceIndex.Page_Load(Object sender, EventArgs e) in d:\www\web\2012330zhang2.com_2mk8pm0wdkegjxwh8uy5\wwwroot\createLuceneIndex.aspx.cs:line 16
看这样子应该是权限问题,有谁知道执行这个方法具体需要哪个用户和权限呢?
FileIOPermission
for writing to files or directories. Associated enumeration: FileIOPermissionAccess.Write
IIS6应该是需要ASPNET用户对文件夹有写权限SecurityPermission
for calling unmanaged code. Associated enumeration: SecurityPermissionFlag.UnmanagedCode
代码有问题吧,代码贴出来,
System.UnauthorizedAccessException 晕是这个错误,我看错了,NETwork service给完全控制试下,还有aspnet 用户
System.IO.Directory.SetCurrentDirectory(Server.MapPath("~/Bin"));
完全控制权限服务商是不肯给的,只肯给“读取”、“写入”和“列出文件夹目录”这三个权限,要不然也不用这么纠结。
System.IO.Directory.SetCurrentDirectory(Server.MapPath("~/Bin"));
这句,拷贝错了。