У меня есть приложение ASP.NET MVC 5. Он имеет простую форму, и когда пользователь отправляет его, форма сохраняется в кеше, а затем вызывается другое действие контроллера, это действие вернет модель в виде представления в виде PDF.Rotativa PDF поколение работает локально, но не на IIS 7
Мне не нужно сохранять его локально, просто чтобы показать его в браузере, чтобы пользователь мог его загрузить.
Нет необходимости в базе данных, поэтому я храню модель в кеше.
Локально, на Visual studio 2013, он отлично работает. Но когда я публикую его в IIS 7, я получаю Unhandled Execution Error
. Вот трассировки стека, что я получаю обратно:
Unhandled Execution Error
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Exception:
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[Exception]
Rotativa.WkhtmltopdfDriver.Convert(String wkhtmltopdfPath, String switches, String html) +1364
Rotativa.WkhtmltopdfDriver.ConvertHtml(String wkhtmltopdfPath, String switches, String html) +70
Rotativa.ViewAsPdf.CallTheDriver(ControllerContext context) +1986
Rotativa.AsPdfResultBase.BuildPdf(ControllerContext context) +380
Rotativa.AsPdfResultBase.ExecuteResult(ControllerContext context) +69
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +109
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +890
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +97
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
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.34248
я впервые использовал ActionAsPDF()
, но теперь я также пытался использовать return new ViewAsPDF()
. Оба дают ту же ошибку и трассировку стека. Должно ли это что-то делать с разрешениями?
это действительно бросает 'System.Exception' и не какой-то производный класс? Это было бы крайне плохо. – leppie
Это все, что я получаю, и поскольку я не могу его дублировать локально, я не знаю, как отлаживать его. – Robin
В первой строке стека, однако, есть параметр, который звучит так, как будто это имя пути, у меня были проблемы с путями и IIS раньше, может это проблема? – Robin