Client request -> Server -> Wcf [writes file] -> server[send path to] ->client
public void ExportToExcel(SalesCriteriaReport obj) { try { OperationServiceClient client = new OperationServiceClient(); Operations.IOperationService opService; opService = client; Operations.SalesCriteriaReport objReport = new Operations.SalesCriteriaReport(); //Operations.SalesCriteriaReport objReport1 = new Operations.SalesCriteriaReport(); /* Total 17 values */ objReport.FilePath = obj.FilePath; objReport.procName = obj.procName; objReport.ReportName = obj.ReportName; objReport.sqlConnectionString = sqlConnectionString; objReport.RoleID = obj.RoleID; objReport.UserID = obj.UserID; objReport.isVolume = obj.isVolume; objReport.locationFilters = obj.locationFilters; objReport.modalityFilters = obj.modalityFilters; objReport.practiceFilters = obj.practiceFilters; objReport.referringPracticeFilters = obj.referringPracticeFilters; objReport.referringPhysiciansFilters = obj.referringPhysiciansFilters; objReport.specialityFilters = obj.specialityFilters; objReport.cptFilters = obj.cptFilters; objReport.rowArea = obj.rowArea; objReport.pageNumber = obj.pageNumber; objReport.pageSize = obj.pageSize; Operations.ExportedFileProperty excelFile = new ExportedFileProperty(); Operations.ExportedFileProperty excelFile2 = new ExportedFileProperty(); client.Endpoint.Binding.SendTimeout = new TimeSpan(0, 5, 00); client.Open(); excelFile = opService.SalesExportToExcel(objReport); // service call //which generates file correclty client.Close(); if (excelFile.IsSucess) // gives access to file but when downloaded // gives files with garbage values filled. { HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + excelFile.FileName + excelFile.Extension); HttpContext.Current.Response.AddHeader("Content-Type", "application/Excel"); HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"; HttpContext.Current.Response.WriteFile(excelFile.FilePath + excelFile.FileName + excelFile.Extension); } else //Response.Write("Error in file writing " + excelFile.ErrorMessage); throw new Exception(excelFile.ErrorMessage); try { if (client.State != System.ServiceModel.CommunicationState.Faulted) { client.Close(); } } catch (Exception ex) { client.Abort(); } HttpContext.Current.Response.End(); } catch (Exception ex) { Response.Write(ex.Message); } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)