Asp.net mvc 3 Windows Server 2008 R2 x64环境上的WkHtmlToXSharp错误

Asp.net mvc 3 Windows Server 2008 R2 x64环境上的WkHtmlToXSharp错误,asp.net-mvc-3,environment,staging,Asp.net Mvc 3,Environment,Staging,WkHtmlToXSharp是一个C包装器,它使用p/Invoke来实现出色的Html到PDF转换库wkhtmltopdf库 我有两个关于临时Windows Server 2008 R2 x64环境的网站 其中一个是网站A版本的网站,另一个是网站B WkHtmlToXSharp转换在A版本上工作,但当我设置B版本A转换在该版本上不工作时,我收到一个错误: HtmlToPdf conversion failed: Failed loading page http://website/Convert

WkHtmlToXSharp是一个C包装器,它使用p/Invoke来实现出色的Html到PDF转换库wkhtmltopdf库

我有两个关于临时Windows Server 2008 R2 x64环境的网站 其中一个是网站A版本的网站,另一个是网站B

WkHtmlToXSharp转换在A版本上工作,但当我设置B版本A转换在该版本上不工作时,我收到一个错误:

HtmlToPdf conversion failed: Failed loading page http://website/Convert (sometimes it will work just to ignore this error with --load-error-handling ignore)
我想知道为什么会发生这种情况,然后我指出一个网站要查看与B站点查看的文件夹相同的文件夹。我很惊讶,当我运行一个转换时,在那里工作得很好,但当我破坏了B时,我仍然得到相同的错误,但有趣的是,这两个站点都指向同一个源代码文件夹。我只是想知道为什么会这样。这两个网站都有类似的应用程序池配置,并且在其中一个网站中启用32位应用程序设置为true。此外,我试图为两个网站设置相同的应用程序池,但仍然发生了相同的事情,网站A上的转换工作正常,但网站B上的转换工作不正常

在我的本地环境Windows 7 x64上,如果我设置了相同的网站,则转换在这两种情况下都有效

我还在代码中做了一些更改以忽略错误: converter.ObjectSettings.Load.LoadErrorHandling=LoadErrorHandlingType.ignore; 但它并没有修复错误,唯一的区别是,现在我得到的是空的pdf格式,以防在B网站上转换

我只是在想,可能是Windows Server中的某些东西拒绝在内存中运行/保留WkHtmlToXSharp.dll或wkhtmltopdf的两个副本,或者类似的事情正在发生

也许有人对此有什么想法?

看到了吗

IIS的问题是它会回收应用程序。不时的游泳池, 但在此过程中,您的 在这种情况下,申请可能最终不被批准 释放。此外,在您的IIS下有多个AppDomain 应用程序可能导致内存损坏,因为两个AppDomain都试图 Instantinate在同一进程下创建WebKit实例,即相同 处理内存/空间,这是另一种不可能的方式

您可以做的最好的事情是使用守护进程或服务处理 HTML2PDF转换,并从您的web应用程序调用它。使用远程处理, WS调用或任何其他RPC方法。这也将有助于你解构 您的应用程序,使事情更容易调试


希望有帮助。

我也面临类似的问题。你找到解决办法了吗?如果是,请PM我。