我用C#写的一个程序里的一个语句
Directory.GetFiles(Enivronment.FetFolderPath(Environment.SpecialFolder.MyPictures), "*.jpg");
以服务的形式运行的时候出现了路径不合法异常,以普通应用程序运行时没有出现异常,这是为什么?

解决方案 »

  1.   

    路径不对吧,iis有默认的路径
      

  2.   

    Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures), "*.jpg");这个好象是对的了。
      

  3.   

    跟IIS有关系吗,我的是Win32程序,不是Web程序,我只是想简单的读取图片收藏里的JPG文件。如果不做成服务,就一切正常,图片都能读取到,做成服务后就出现路径不合法异常了。郁闷死,实在搞不明白为什么,难到服务程序不能访问图片收藏文件夹?
      

  4.   

    Enivronment.FetFolderPath(Environment.SpecialFolder.MyPictures), "*.jpg"
    单步调试下在服务状态下 
      

  5.   

    Directory.GetFiles(Enivronment.FetFolderPath(Environment.SpecialFolder.MyPictures), "*.jpg"); --------------------------------------
    这个东西很明显的了,作为服务运行的程序是与登录用户无关的,Enivronment.GetFolderPath(Environment.SpecialFolder.MyPictures怎么可能取得到值?
      

  6.   

    而且服务在用户登录之前就运行的了,根本就无法确定是哪个用户登录,即使当前Windows系统只有一个用户,它也不会做这样的假设。
      

  7.   

    而且服务在用户登录之前就运行的了,根本就无法确定是哪个用户登录,即使当前Windows系统只有一个用户,它也不会做这样的假设。