手动迁移Azure经典云服务至扩展支持云服务时遇EvoPDF报错求助
我正在迁移一个包含Evo Html to Pdf Generator的Azure经典云服务,已创建新的扩展支持云服务并部署相关关联文件。但通过应用访问该云服务时,出现以下错误:
无法从服务器获取错误信息:服务器在读取完所有数据前关闭了连接
说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中起源的更多信息。
异常详细信息:System.Exception: 无法从服务器获取错误信息:服务器在读取完所有数据前关闭了连接源错误:
当前Web请求期间生成了未处理的异常。可使用下面的异常堆栈跟踪确定异常的来源和位置。堆栈跟踪:
[Exception: 无法从服务器获取错误信息:服务器在读取完所有数据前关闭了连接]
ac.aa() +2496
EvoPdf.HtmlToPdfClient.HtmlToPdfConverter.ConvertHtml(String html, String baseUrl) +126
Website.pdf_generation.Page_Load(Object sender, EventArgs e) +866
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +52
System.Web.UI.Control.OnLoad(EventArgs e) +97
System.Web.UI.Control.LoadRecursive() +61
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +693
确认Evo PDF扩展部署状态
登录Azure门户进入目标云服务的「扩展」面板,检查扩展是否成功安装、运行状态是否为「正常」,版本是否与项目中EvoPdf.HtmlToPdfClient的版本匹配。若有部署失败记录,重新部署扩展。验证客户端与扩展的通信配置
HtmlToPdfClient默认与云服务内的扩展本地通信,需确保:- 云服务角色的端点配置未占用Evo PDF扩展的默认端口;
- 代码中
HtmlToPdfConverter未被错误配置为远程服务地址,保持本地通信模式。
检查角色实例资源限制
PDF生成对CPU、内存有一定要求,若角色实例规格过小可能导致进程被强制终止:- 临时升级实例规格(如从Basic转Standard),测试问题是否复现;
- 查看云服务诊断日志,排查是否存在内存不足、CPU使用率过高的记录。
规范代码中的资源释放
确保调用ConvertHtml后正确释放HtmlToPdfConverter资源,避免资源泄漏引发连接异常:using (var converter = new HtmlToPdfConverter()) { converter.ConvertHtml(html, baseUrl); }查看Evo PDF扩展本地日志
通过远程桌面连接到角色实例,在路径C:\Resources\<RoleInstanceName>\EvoPdf\Logs下查看扩展生成的详细日志,定位具体错误原因。
内容的提问来源于stack exchange,提问作者Stephanie J.

