none
ASP NET MVC Crystal Reports "Nome do arquivo inválido". RRS feed

  • Pergunta

  • Ajuda!!!

    O seguinte código funciona perfeitamente quando executado pelo VS 2012, abrindo o arquivo pdf gerado a partir do relatório do Crystal Report. Mas quando a aplicação é publicada no IIS o navegador retorna "Nome de Arquivo Inválido".

    Código:

    using (ReportClass rpt = new ReportClass()) 
                    {
                        string strCodBar = DAL.Fatura.GetCodigoBarras(
                            fatura.TOTAL_FATURA,
                            Properties.Settings.Default.COD_FEBRABAN,
                            fatura.IDENT,
                            fatura.DT_VENCTO,
                            fatura.NUMERO,
                            Properties.Settings.Default.TIPO_CANHOTO );
                        
    
                        fatura.CODIGO_BARRAS = DAL.Fatura.FormataCodigoBarras(strCodBar);
    
                        fatura.IMAGE_COD_BAR = DAL.CodBarBuilder.Build(DAL.Fatura.RemoveDigitosCodigoBarras(strCodBar));
                        
                        List<Entity.Fatura> lista = new List<Entity.Fatura>();
                        lista.Add(fatura);
    
                        string strPath = System.Web.Hosting.HostingEnvironment.MapPath("~/Content/rpt/ReportCodigoBarras.rpt");
    
                        rpt.FileName = strPath;
                        
                        rpt.Load();
                        rpt.SetDataSource(lista);
                        rpt.Refresh();
    
                        rpt.ExportToHttpResponse(ExportFormatType.PortableDocFormat, System.Web.HttpContext.Current.Response, false, "CodigoBarras_"+ fatura.IDENT + fatura.MES_ANO.ToShortDateString() + fatura.NUMERO );

    Erro no navegador quanto publicado o IIS:

    Erro de Servidor no Aplicativo '/'.
    
    Nome de arquivo inválido.
    
    Descrição: Ocorreu uma exceção sem tratamento durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código. 
    
    Detalhes da Exceção: System.Runtime.InteropServices.COMException: Nome de arquivo inválido.
    
    Erro de Origem: 
    
    Exceção sem tratamento foi gerada durante a execução da atual solicitação da Web. As informações relacionadas à origem e ao local da exceção podem ser identificadas usando-se o rastreamento de pilha de exceção abaixo.
    
    Rastreamento de Pilha: 
    
    
    [COMException (0x800001fb): Nome de arquivo inválido.]
       CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) +0
       CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) +90
       CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +259
    
    [CrystalReportsException: Falha ao carregar o relatório.]
       CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +322
       CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) +851
       CrystalDecisions.CrystalReports.Engine.ReportClass.Load(String reportName, OpenReportMethod openMethod, Int16 parentJob) +100
       CrystalDecisions.CrystalReports.Engine.ReportClass.Load() +16
       ViewWeb.Controllers.ServicosController.PrintCodBarras(Fatura fatura) +387
       lambda_method(Closure , ControllerBase , Object[] ) +104
       System.Web.Mvc.<>c__DisplayClass1.<WrapVoidAction>b__0(ControllerBase controller, Object[] parameters) +14
       System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +14
       System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +214
       System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +27
       System.Web.Mvc.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() +55
       System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +253
       System.Web.Mvc.<>c__DisplayClass17.<InvokeActionMethodWithFilters>b__14() +21
       System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +191
       System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +324
       System.Web.Mvc.Controller.ExecuteCore() +106
       System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +91
       System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +10
       System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +34
       System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +19
       System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +10
       System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
       System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +48
       System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f) +7
       System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action) +22
       System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +60
       System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
       System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9629708
       System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
    
    Informações sobre a Versão: Microsoft .NET Framework Versão:4.0.30319; Versão do ASP.NET:4.0.30319.17929

    quinta-feira, 19 de dezembro de 2013 20:45

Todas as Respostas