Răsfoiți Sursa

Previewer: improved stability, updated to dotnet 8

Marcin Ziąbek 1 an în urmă
părinte
comite
b228cc4979

+ 1 - 1
Source/QuestPDF.Previewer/QuestPDF.Previewer.csproj

@@ -20,7 +20,7 @@
         <PackageTags>previewer pdf report file export generate generation tool create creation render portable document format quest html library converter open source free standard core</PackageTags>
         <PackageLicenseExpression>MIT</PackageLicenseExpression>
         <OutputType>exe</OutputType>
-        <TargetFramework>net6.0</TargetFramework>
+        <TargetFramework>net8.0</TargetFramework>
         <ImplicitUsings>enable</ImplicitUsings>
         <Nullable>enable</Nullable>
     </PropertyGroup>

+ 12 - 3
Source/QuestPDF/Previewer/PreviewerService.cs

@@ -125,7 +125,11 @@ namespace QuestPDF.Previewer
                 await Task.Delay(TimeSpan.FromMilliseconds(250));
 
                 if (cancellationToken.IsCancellationRequested)
-                    throw new Exception($"Cannot connect to the QuestPDF Previewer tool. Please make sure that your Operating System does not block HTTP connections on port {Port}.");
+                {
+                    throw new Exception($"Cannot connect to the QuestPDF Previewer tool. Please ensure that: " +
+                                        $"1) the dotnet 8 runtime is installed on your environment, " +
+                                        $"2) your operating system does not block HTTP connections on port {Port}.");
+                }
 
                 var isConnected = await IsPreviewerAvailable();
 
@@ -173,10 +177,12 @@ namespace QuestPDF.Previewer
                     {
                         await RenderRequestedPageSnapshots();
                     }
-                    finally
+                    catch
                     {
-                        await Task.Delay(TimeSpan.FromMilliseconds(100), cancellationToken);
+                        
                     }
+                    
+                    await Task.Delay(TimeSpan.FromMilliseconds(100), cancellationToken);
                 }
             });
         }
@@ -191,6 +197,9 @@ namespace QuestPDF.Previewer
             
             if (!requestedSnapshots.Any())
                 return;
+            
+            if (CurrentDocumentSnapshot == null)
+                return;
       
             // render snapshots
             using var multipartContent = new MultipartFormDataContent();