我有一个应用程序,它使用所述文件中的参数从批处理文件运行,以从电子邮件收件箱中提取PDF电子邮件附件。它需要这些并将它们保存到驱动器上,因此我们的Web应用程序可以将它们显示给用户。基本上它是一个传入的电子邮件处理程序。
无论如何,我收到了这个错误:
System.StackOverflowException未处理
{无法计算表达式,因为当前线程在堆栈中 溢出状态。}
以下是代码:
static List<string> SplitPDF(string PDFPath)
{
try
{
List<string> retval = new List<string>();
ExpertPdf.PDFSplit.PDFSplitManager pds = new PDFSplitManager();
pds.LicenseKey = "XXXXXXXXXXXX";
int Pages = pds.GetPdfPageCount(PDFPath);
for (int i = 0; i < Pages; i++)
{
pds.ExtractPagesFromFileToFile(PDFPath, PDFPath + i.ToString() + ".pdf", i + 1, 1);
retval.Add(PDFPath + i.ToString() + ".pdf");
}
retval.Add(PDFPath);
return retval;
}
catch (Exception ex)
{
throw ex;
}
}
此方法会在
上引发错误int Pages = pds.GetPdfPageCount(PDFPath);
不知道为什么或如何。有趣的是,它只发生在三个批处理文件之一。其他两个工作正常(生产失败,开发和测试工作正常)。
我们认为它可能与文件夹有关,也许在那里发生了一些事情,但我不确定......
有什么建议吗?还需要其他代码吗?我知道我只提供了一种方法,但这就是错误所在。
谢谢!
编辑:这是堆栈跟踪,如果它有帮助
IncomingFax.exe!IncomingFax.Program.SplitPDF(字符串PDFPath =“D:\ www \ 443 \ PBIN \ fax \ inbox \ preproc \ 3lz3npbd2sy”)第726行+ 0x17字节
IncomingFax.exe!IncomingFax.Program.ProcessMessage(ForAspNet.POP3.EmailMessage Message = {ForAspNet.POP3.EmailMessage}) Line 326 + 0x9 bytes
IncomingFax.exe!IncomingFax.Program.Main(string[] args = {string[6]}) Line 78 + 0x9 bytes