Skip to content

PdfDataAsync timeout in IIS #2657

Closed
Closed
@yuxiang970813

Description

@yuxiang970813

Hi, my project's print function has been running smoothly for the past few weeks and no code updates have been made, but since May 27th it is suddenly not working properly. When the print button is pressed, PdfDataAsync gets stuck until it times out.
I have tried upgrading to the latest version (18.0.1) or downgrading to other versions of PuppeteerSharp to no avail, and I have noticed that PdfDataAsync works when debugging in Visual Studio, but gets stuck if publishing to IIS.
I also created a new project and published to another server and it still happens.

  • PuppeteerSharp version: 17.0.0
  • NET version: .NET Core 8.0.

Here is the code of the printing function:

BrowserFetcher browserFetcher = new();
await browserFetcher.DownloadAsync();
await using IBrowser browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true, });
await using IPage page = await browser.NewPageAsync();
await page.SetViewportAsync(new ViewPortOptions { Width = 794, Height = 1123 });
await page.GoToAsync(Security.DecodeBase64(url));

byte[] pdfStream = await page.PdfDataAsync();

return File(pdfStream, "application/pdf");

And here is the error message get from event viewer:

System.TimeoutException: Timeout of 180000 ms exceeded
   at PuppeteerSharp.Helpers.TaskHelper.WithTimeout[T](Task`1 task, TimeSpan timeout, Func`2 exceptionFactory) in /home/runner/work/puppeteer-sharp/puppeteer-sharp/lib/PuppeteerSharp/Helpers/TaskHelper.cs:line 185
   at PuppeteerSharp.Cdp.CdpCDPSession.SendAsync(String method, Object args, Boolean waitForCallback, CommandOptions options) in /home/runner/work/puppeteer-sharp/puppeteer-sharp/lib/PuppeteerSharp/Cdp/CdpCDPSession.cs:line 112
   at PuppeteerSharp.CDPSession.SendAsync[T](String method, Object args, CommandOptions options) in /home/runner/work/puppeteer-sharp/puppeteer-sharp/lib/PuppeteerSharp/CDPSession.cs:line 44
   at PuppeteerSharp.Cdp.CdpPage.PdfInternalAsync(String file, PdfOptions options) in /home/runner/work/puppeteer-sharp/puppeteer-sharp/lib/PuppeteerSharp/Cdp/CdpPage.cs:line 829
   at PuppeteerSharp.Page.PdfAsync(String file, PdfOptions options) in /home/runner/work/puppeteer-sharp/puppeteer-sharp/lib/PuppeteerSharp/Page.cs:line 382
   at ltis2023.Controllers.PrintingController.Pdf(String url, Boolean isPortrait)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions