Steps to reproduce:
- Register all storages:
C#viewerConfigurator.UseFileDocumentStorage(Path.Combine("Cache", "Document"));
viewerConfigurator.UseFileReportStorage(Path.Combine("Cache", "Report"));
viewerConfigurator.UseFileExportedDocumentStorage(Path.Combine("Cache", "Exported"));
- Export the report from the viewer (no actual Web Farm needed).
Current results:
CodeDevExpress.AspNetCore.Reporting.Logger: Error: DevExpress.XtraReports.Web.WebDocumentViewer.Native.Services.WebDocumentViewerRequestControllerAsync.StartExport (startExport)
System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\DxBlazorReportCache\DxBlazorReportCache\Cache\Exported\Cache\Exported\25adc5dedc6992df96d8f333d88af66a\ExportResultDetails.json'.
at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
at DevExpress.XtraReports.Web.WebDocumentViewer.Native.FileStorageCommonLogic.SaveToFile[T](T obj, String fileName, String subFolderName)
at DevExpress.XtraReports.Web.WebDocumentViewer.Native.Services.FileExportedDocumentStorage.AddOrUpdate(String id, ExportedDocumentInfo exportedDocument)
at DevExpress.XtraReports.Web.WebDocumentViewer.Native.Services.ExportPollingOperationService.WriteProgress(String operationId, Int32 progress)
at DevExpress.XtraReports.Web.WebDocumentViewer.Native.Services.ExportPollingOperationService.StartOperationAsync(String operationId, PrintingSystemBase printingSystem, Func`2 doSynchronousOperation)
at DevExpress.XtraReports.Web.WebDocumentViewer.Native.Services.CachedDocumentSourceManagementServiceAsyncBase`1.<>c__DisplayClass56_0.<<StartExportAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at DevExpress.XtraReports.Web.WebDocumentViewer.Native.Services.CachedDocumentSourceManagementServiceAsyncBase`1.DoWithDocumentAsync[T](String id, Nullable`1 loadPageIndex, Func`2 funcAsync, Func`1 remoteDocumentFuncAsync)
at DevExpress.XtraReports.Web.WebDocumentViewer.Native.Services.CachedDocumentSourceManagementServiceAsyncBase`1.StartExportAsync(String id, String format, ExportOptions options, Object[] editingFieldValues, Boolean inlineResult)
at DevExpress.XtraReports.Web.WebDocumentViewer.Native.Services.WebDocumentViewerRequestControllerAsync.StartExport(DocumentExportRequest exportRequest)
at DevExpress.XtraReports.Web.Native.ClientControls.RequestManagerResponseWrapper.WrapJsonResult[T](Task`1 response)
at DevExpress.XtraReports.Web.Native.ClientControls.Services.RequestManagerBaseAsync`2.WrapWithTryCatchActionAsync(String controllerTypeName, String methodName, String webActionName, ControllerFuncAsync invoker, TController controller, String json
Any update on this, please?
@Shamsuddin,
Our team is finalizing a possible solution. I anticipate a fix will be ready soon. Please monitor this ticket for further updates.
@Shamsuddin,
Just to add here: if this issue is urgent, consider building an absolute path by combining
IHostingEnvironment.ContentRootPath
with your folder's name (this alternative should work well).