0

Fusion Pro という製品のライブラリを使用するコードがあります。いくつかの構成ファイルとデータ ファイルに基づいて、PDF ファイルが生成されます。例外がスローされることなく、出力が完全に欠如しているという一貫した結果が得られています。ただし、デバッグ時には、ローカル IIS で実行されているコードにデバッガーを接続し、行ごとにステップ実行することで、PDF を生成することができました。しかし、何も一貫していません。F10 の代わりに F11 を使用し、各行を「ゆっくりだが着実に」進むと、成功率が高くなるようです。残念ながら、コードをステップ実行しても常に PDF が生成されるとは限りません。

毎回同じ入力でこれほど一貫性のないコードの動作を経験したことはありません。

その他の関連情報は、このコードが別の asmx サービスで問題なく動作していること、特定のドメイン アカウントで実行されていること (特別なセキュリティが必要)、および 32 ビット モードで実行されていることです。

DLQueueClient client = new DLQueueClient();
DLQueueJob vdpQueueJob = new DLQueueJob();

string fileName = message.OutputFilePath;

var dataFilePath = CreateDataFile(fileName, message.DefFilePath, message.VariableDataContent, message.QTY);
var pdfFilePath = Path.Combine(new[] { message.OutputFilePath, dataFilePath.Replace(".txt", ".pdf") });

vdpQueueJob.Priority = priority;
vdpQueueJob.Queue = queueName;
string cmd = "\"" + Settings.FusionProExe + "\" \"" + dataFilePath + "\" \""
                          + message.DiffFilePath + "\" \"" +
                          (isProof ? message.ProofConfigFilePath : message.PrintConfigFilePath) + "\" \""
                          + pdfFilePath + "\"";

vdpQueueJob.CommandLine = cmd;

client.ConnectRemote(Settings.FusionProServer, Settings.FusionProUser, Settings.FusionProPassword, Settings.FusionProTimeout);
client.SubmitJob(vdpQueueJob, Settings.FusionProTimeout, true);

return pdfFilePath;
4

0 に答える 0