Rotativa 1.6.1给出了“未经检测的Windows版本6.2!”消息作为例外

时间:2015-07-31 14:33:32

标签: asp.net asp.net-mvc wkhtmltopdf rotativa

我有一个运行同一网站的多个版本的网络服务器。现场网站运行正常。测试站点抛出“未经检测的Windows版本6.2检测到!”我尝试生成PDF时出错。将Rotativa文件夹从工作实时站点复制到测试站点没有任何帮助。升级到更新版本的Rotativa给了我其他问题,这些问题目前尚无法解决(我们正在考虑实际上远离它)。

我觉得它与代码无关,但它与权限有关,但我找不到任何方法让它工作。为了完整起见,这是堆栈:

[Exception: Qt: Untested Windows version 6.2 detected!
Error: Failed loading page http://test.mysite.com/Home/PrintBackorderView (sometimes it will work just to ignore this error with --load-error-handling ignore)
]
   Rotativa.WkhtmltopdfDriver.Convert(String wkhtmltopdfPath, String switches, String html) +793
   Rotativa.AsPdfResultBase.CallTheDriver(ControllerContext context) +31
   Rotativa.AsPdfResultBase.BuildPdf(ControllerContext context) +186
   Web.Application.Controllers.HomeController.AddBackordersToPDF(PdfDocument pdfDocument) +188
   Web.Application.Controllers.HomeController.Process() +2681
   lambda_method(Closure , ControllerBase , Object[] ) +79
   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +242
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +39
   System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +12
   System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) +139
   System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +112
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +452
   System.Web.Mvc.Async.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(IAsyncResult asyncResult) +15
   System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +37
   System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +241
   System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +29
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +111
   System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +53
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +19
   System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +51
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +111
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +606
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +288

1 个答案:

答案 0 :(得分:0)

Rotativa是旧诺基亚浏览器的一个包装器,可以加载您创建的页面并将其呈现为PDF。显然,这个软件有时需要一些帮助来解析它需要解析的内容的地址,所以我将域添加到HOSTS文件中。

http://support.hostgator.com/articles/general-help/technical/how-do-i-change-my-hosts-file

# this should contain the URLs it needs to use
123.45.67.89 www.example.com