我目前的情况是需要在托管ASP.net/C# API的远程服务器上执行一个可以创建本地.txt文件的exe文件。我创建了一个本地用户(假设为userA)作为管理员来运行远程服务器上的Web服务,但.txt文件没有被创建。我已经检查并授予了必要的文件夹权限给userA,并将该用户添加到各种组中。有趣的是,如果我以userA身份登录远程系统,则exe程序可以按预期执行。如果我退出登录,则执行失败。服务器是Win Server 2008,带有IIS 7。感谢任何帮助。
更新:我已解决该问题,并在此处发布了答案和几个相关问题的链接。简而言之,我需要在IIS应用程序池中设置“加载用户配置文件”为true。
感谢所有人的贡献
编辑:从评论中提取的代码
Process proc = new Process();
proc.StartInfo.FileName = path;
proc.StartInfo.Arguments = exeparams;
proc.Start();
proc.WaitForExit();
stat = proc.ExitCode;
if (stat != 0)
{
throw new Functions.log("Error");
}
proc.WaitForExit();stat = proc.ExitCode; if (stat != 0) { throw new Functions.log("错误"); } 就像我所说的,在问题描述的条件下,代码可以正常工作。 - santhosh.v