出现此错误的原因是Puppeteer Sharp没有完全关闭浏览器进程,因此出现了进程冲突。下面是修复此错误的代码示例:
使用using句法确保Puppeteer Sharp完全关闭浏览器进程
public async Task GeneratePDF(string url)
{
byte[] content;
var launchOptions = new LaunchOptions
{
Headless = true,
Args = new string[] { "--no-sandbox" }
};
using(var browser = await Puppeteer.LaunchAsync(launchOptions))
using(var page = await browser.NewPageAsync())
{
await page.GoToAsync(url);
content = await page.PdfDataAsync();
}
return content;
}
上述代码示例中,使用了using句法在方法结束时自动关闭了Puppeteer Sharp。这样就可以避免浏览器进程残留问题导致的错误。