【问题标题】:puppeteer-sharp for server side HTML to PDF conversionspuppeteer-sharp 用于服务器端 HTML 到 PDF 的转换
【发布时间】:2020-05-27 20:01:47
【问题描述】:

我发现 puppeteer sharp 是服务器端、HTML 到 PDF 转换的最佳方式,因为它使用和下载最新的 chrome 并在后台无头运行,因此转换是一流的。表格和其他一切都完美呈现。

但是对于在服务器上运行,应该如何管理并发,因为我认为每个网站用户的转换请求都会启动另一个 chrome 实例。 puppeteer sharp 如何管理并发。

最好将其拆分为单独的 Web 服务并将转换请求排入队列,并将所有与 pdf 相关的请求逐一传递,而不是在多个 chrome 实例的 Web 服务器上遇到并发或资源问题。

【问题讨论】:

    标签: c# asp.net puppeteer-sharp


    【解决方案1】:

    我发现这是实现这一点的最具可扩展性的方法是使用后台进程。这是一个真实的例子:

    1. WebClient 请求 PDF,发送 signalR 消息。
    2. SignalR 集线器创建某种 ID,将请求放入 Azure 队列,并将 SignalR 客户端添加到具有该 ID 的 SignalR 组中。
    3. 控制台应用程序会读取该队列,处理 HTML,然后使用 SignalR 消息将结果发送回服务器。
    4. WebServer 将获取消息,并将该消息广播给该组中的所有客户端。

    这听起来可能很复杂,但也没那么复杂。你可以让它更简单。

    【讨论】:

    • 我需要在本地做一些事情,而不是 Azure 队列/逻辑应用。
    • 您可以制作自己的队列。
    • 对于一个简单的 asp.net 核心应用程序,为什么我们不将其初始化为单例并将其注入到我们的控制器中?
    猜你喜欢
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    • 2019-08-11
    • 1970-01-01
    • 2011-06-30
    • 2012-08-17
    • 1970-01-01
    • 2021-08-22
    相关资源
    最近更新 更多