我的一个ASP.NET程序,需要读取IIS日志,我在本地调试都很正常,也能读取,读取当天的我是使用把文件复制到其他目录后再读取的方法。现在我将程序打包上传到服务器上后,运行出现问题:
对路径“D:\网站\www.aaabbb.com\iislog\W3SVC816676050\ex100623.log”的访问被拒绝。一开始出现这个问题后,我将IIS的日志文件移动到D盘了。并且在权限设置了EVERYONE。赋予了全部权限。还是不行?如果是查看当天日志的话,我代码如下:
   if (TextBox1.Text.ToString().Trim() == DateTime.Now.ToLongDateString())
        {
            string path1 = path + fname;
            string path2 = @"D:\TONGYING\网站\www.aaaa.com\back\" + fname;
            FileInfo fi = new FileInfo(path1);
            if (fi.Exists)
            {
                fi.CopyTo(path2);
            }
运行后出现:未能找到文件。应该是没有复制成功的原因。大家帮忙看看到底是哪里出了问题,一直比较困惑

解决方案 »

  1.   

    源目录和目标目录都要设置权限。不用给EveryOne权限。
    IIS的运行账户是aspnet(xp下) 或Network service (win 2k3)下。
      

  2.   

    给一个EveryOne的权限测试一下,如果能够成功。
    将ASPNET 和 NETWORK SERVICE 权限赋予
      

  3.   


    我的源目录和目标目录是在同一个文件夹下。都是d:\网站\aaabbb 都设置过了,请教高手。。
      

  4.   

    是不是它被别的程序用着呢?
    D:\网站\www.aaabbb.com\iislog\W3SVC816676050\ex100623.log
      

  5.   

    复制前加上以下几句代码:
    1.清除文件句柄
    2.删除目标文件。要覆盖目标文件,请用copyto的重载方法