我正在使用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");
pdfLicense
和wordLicense
变量从未在任何地方使用,但是Aspose可以正确识别出我确实具有有效的许可证。这是怎么发生的?许可证是否以秘密单例形式保存在某个地方?如果是这样,这是否意味着它们在线程的整个生命周期中持续存在?由于这是在Web应用程序中使用的,如果我在应用程序启动时运行上面的代码,那么我可以安全地在整个应用程序中使用Aspose而不用担心许可问题吗?
此刻,我会更加偏执,并在使用Aspose的每个方法的开头都运行该代码。这可以正常工作-我的许可证被正确识别-但我有点“巧合编程”,以至于对此感到不自在。
(如果有任何区别,我将C#与ASP.NET 3.5一起使用。)
最佳答案
如果阅读product documentation,您将看到以下行:
在对文档执行任何操作之前,需要设置许可证。每个应用程序(或过程)只需要设置一次许可证。
因此,它是以过程为中心的。