【发布时间】:2012-03-31 13:58:39
【问题描述】:
我正在使用 wkhtmltopdf 下载页面并创建 pdf,如 here 中所述。这一切都按预期工作,但是当它到达以下行时:
int read = proc.StandardOutput.BaseStream.Read(buffer, 0, buffer.Length);
需要很长时间才能继续。 我还尝试了以下方法:
proc.Start();
string output = proc.StandardOutput.ReadToEnd();
string error = proc.StandardError.ReadToEnd();
proc.WaitForExit();
但同样的事情发生在第 2 行 (proc.StandardOutput.ReadToEnd())。
我该如何调试?
注意:当我调试整个项目时,我看到 wkhtmltopdf 进程正在调用的页面仅在延迟后才被调用。所以延迟发生在操作系统调用和页面下载本身之间。
编辑
所以我将参数部分更改为简单的http://google.com -,它执行得非常快。
所以问题出在我的全部论点中:--stop-slow-scripts --redirect-delay 1500 --cookie MOODLEID_ %25E2%25C8%2513E%25BD --cookie ASP.NET_SessionId mg3mfaisk45zn5y1aql0glbb --cookie .ASPXAUTH FEA3D10032E211EDB330E967D8F19A324A912AD792219CA281451AA809F1B580B25466DAF81DE30DF07252FF13F0888C88ED4DB5871579F1DA3EBAA447CBF860131F6FF00A763C9207CE13BCB143301E49A2B00EEBBF1F4AE14F109DF1BE8D3B39C43478B99E4C686C3849D1D51DDBFA3D2E871691BAB8346FE5195D867F88F662F72E40 http://localhost:8404/Relatorio/GeralEstaticoPDF?id=15&pesq_cod=0&IncluirParciais=True&NomesImagens[0]=3fd5b6a2-76a4-470b-af99-93500cc90431.png&NomesImagens[1]=c1c86234-c338-4285-9d25-5069be36a213.png&NomesImagens[2]=4562f9a3-72aa-452c-9736-6d0ba65f59ce.png&NomesImagens[3]=dbc54344-6248-4ee3-9e43-9cb3ef89cc67.png&NomesImagens[4]=8c954917-d572-4d4a-b6fd-2b9cd09e8f8e.png -
我需要 cookie 来保存会话。
如果我直接在命令行上运行它(但输入一个文件名而不是-)它也运行得很快。
编辑 2
所以问题肯定是 cookie,如果我删除它们,它会快速执行,但它只会给我 pdf 上的登录屏幕,因为它没有保留会话。
【问题讨论】:
标签: asp.net asp.net-mvc process wkhtmltopdf