我正在使用Aspose处理PDF和Word文档。每次我要对文档进行处理时,请确保将其称为:

Aspose.Pdf.License pdfLicense = new Aspose.Pdf.License();
pdfLicense.SetLicense("Aspose.Total.lic");

Aspose.Words.License wordLicense = new Aspose.Words.License();
wordLicense.SetLicense("Aspose.Total.lic");


pdfLicensewordLicense变量从未在任何地方使用,但是Aspose可以正确识别出我确实具有有效的许可证。这是怎么发生的?许可证是否以秘密单例形式保存在某个地方?如果是这样,这是否意味着它们在线程的整个生命周期中持续存在?

由于这是在Web应用程序中使用的,如果我在应用程序启动时运行上面的代码,那么我可以安全地在整个应用程序中使用Aspose而不用担心许可问题吗?

此刻,我会更加偏执,并在使用Aspose的每个方法的开头都运行该代码。这可以正常工作-我的许可证被正确识别-但我有点“巧合编程”,以至于对此感到不自在。

(如果有任何区别,我将C#与ASP.NET 3.5一起使用。)

最佳答案

如果阅读product documentation,您将看到以下行:


在对文档执行任何操作之前,需要设置许可证。每个应用程序(或过程)只需要设置一次许可证。


因此,它是以过程为中心的。

10-08 10:51