求助!
 Process p = new Process();
 try
 {
         ProcessStartInfo startInfo = new ProcessStartInfo();
         startInfo.UseShellExecute = true;
         startInfo.Verb = "Print";         startInfo.FileName = docPath;
         p.StartInfo = startInfo;
         p.Start();
 }
这是段web服务器端的代码,在本机调试状态的时候能正常打印文件,但是发布到本机的IIS上后就报出“系统找不到相关文件”这个错误,请问为什么?

解决方案 »

  1.   

    docPath
    这个路径正确否?服务器上有安装这个WORD否??
      

  2.   

    本机调试的时候,使用账户通常是一个 Windows 默认的账号,例如 Administrator。放到 IIS 中运行,通常是本机网络服务账号(NETWORK SERVICE),两者的权限由很大不同。
      

  3.   

    服务器就是我本机,有安装word;
    路径也是正确的,可以找到文件;
    虚拟目录也是设为可访问、可写的;
    任务管理器中也会启动一个word进程,该进程的用户是aspnet;
    我把aspnet用户也变更到Administrators用户组了;
      

  4.   

    路径问题  
    Process myProcess = new Process();string myDocumentsPath = 
     Environment.GetFolderPath(Environment.SpecialFolder.Personal);
    myProcess.StartInfo.FileName = myDocumentsPath + "\\MyFile.doc"; 
    myProcess.StartInfo.Verb = "Print";
     myProcess.StartInfo.CreateNoWindow = true;
     myProcess.Start();
    用绝对路径
      

  5.   

    检查一下IIS的认证方式设置,缺省是用匿名方式的,那么你那个文件就要设置成everyone完全控制的状态,否则可以用windows认证方式,把impersonate设成true