【发布时间】:2017-08-01 11:44:22
【问题描述】:
我们创建了一个 IIS Web 服务,它启动一个 print.exe 进程,通过网络将打印作业提交到不同位置的共享打印机。通常,此过程工作正常,并且 prn 已成功发送到远程打印机。
但是,有时 print.exe 会返回“无法初始化设备 \\server_name\shared_printer_name”,我完全无法跟踪正在发生的事情,也无法手动创建此案例。
你能帮我理解问题可能是什么吗?我可以检查什么来理解和解决这个问题?
Web 服务使用以下代码启动进程:
try
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "print.exe";
startInfo.Arguments = "/D:\"" + printerName + "\" " + prnFilePath;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
startInfo.CreateNoWindow = true;
Process printProcess = Process.Start(startInfo);
bool printSuccessful = false;
while (!printProcess.StandardOutput.EndOfStream)
{
string line = printProcess.StandardOutput.ReadLine();
log.Debug("Response of print process: " + line);
if (line.Contains("currently being printed"))
{
printSuccessful = true;
}
}
return printSuccessful;
}
catch (Exception ex)
{
log.Error("printWithWindowsCommand failed. Could not print", ex);
return false;
}
【问题讨论】:
标签: .net web-services iis networking printing