[英]ASP.net Web Application Pages Stop Responding (Web Forms) on IIS 8
[英]PuppeteerSharp in IIS - ASP.NET Web Forms
Trying to use PuppeteerSharp in our ASP.NET Web Forms application to generate a PDF and while it works fine locally I receive the below error when deploying to an IIS server.
我注意到的一件事是創建了一個名為 download-Win64-706915.zip 的零字節 ZIP 文件。
我的代碼如下
var url = ConfigurationManager.AppSettings["EnrolmentFormUrl"] + "?code=" + code;
var fileName = "enrolment" + $"{DateTime.Now:__ddMMyyyyhhmmssfff}" + ".pdf";
var output = Config.attachmentPath + fileName;
var browserFetcher = new BrowserFetcher(new BrowserFetcherOptions
{
Path = Config.attachmentPath
});;
await browserFetcher.DownloadAsync(BrowserFetcher.DefaultRevision).ConfigureAwait(false);
var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Headless = true,
TransportFactory = AspNetWebSocketTransport.AspNetTransportFactory,
ExecutablePath = browserFetcher.RevisionInfo(BrowserFetcher.DefaultRevision).ExecutablePath
}).ConfigureAwait(false);
var pdfOptions = new PdfOptions
{
Format = PaperFormat.A4,
PreferCSSPageSize = true
};
var page = await browser.NewPageAsync();
await page.GoToAsync(url).ConfigureAwait(false);
await page.PdfAsync(output, pdfOptions).ConfigureAwait(false);
問題是由於部署到的服務器無法訪問 Internet,而 PuppeteerSharp 希望下載通過指定本地執行路徑解決的 Chromium。
ExecutablePath = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
修改后的代碼如下
var url = ConfigurationManager.AppSettings["EnrolmentFormUrl"] + "?code=" + code;
var fileName = "enrolment" + $"{DateTime.Now:__ddMMyyyyhhmmssfff}" + ".pdf";
var output = Config.attachmentPath + fileName;
var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Headless = true,
TransportFactory = AspNetWebSocketTransport.AspNetTransportFactory,
ExecutablePath = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
}).ConfigureAwait(false);
var pdfOptions = new PdfOptions
{
Format = PaperFormat.A4,
PreferCSSPageSize = true
};
var page = await browser.NewPageAsync();
await page.GoToAsync(url).ConfigureAwait(false);
await page.PdfAsync(output, pdfOptions).ConfigureAwait(false);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.