今天我一直在web应用程序中使用wkhtmltopdf.exe,我想知道是否应该使用锁(或单例模式)以便以线程安全的方式调用Process.Start
。 / p>
我担心的是,多个用户将在调用上述exe文件的页面上同时执行GET。我的理解是每个Request都是在自己的线程上创建的,这是否意味着调用exe文件(Process.Start
)在Web应用程序中是线程安全的?
答案 0 :(得分:2)
Process.Start
与线程安全无关。这是一个线程安全的调用 - 你可以从你想要的多个线程中多次调用它。与此相关的问题是您依靠外部流程来完成工作。在密集使用的Web应用程序中生成多个进程并不是一个好主意,因为您将消耗越来越多的资源。因此,如果您的网站没有很大的负载,这可能会很好,但如果您希望开始扩展,则不建议这样做。
是的,我知道以可靠和高效的方式将HTML转换为PDF,不涉及产生过程并对最终结果感到满意需要花钱。但是,Web应用程序的可伸缩性通常需要付出代价。