I’ve taken over the completion, deployment, and maintenance of an ASP.NET Web site that generates Office documents using VSTO. VSTO’s a decent concept and works fine for small-scale scenarios like a desktop app or small intranet. However, with multiple simultaneous requests via ASP.NET, we found the Web server performance suffered badly.
To spread out the server’s workload, I implemented MSMQ task queuing via a WCF Windows service. That helped a lot. IIS didn’t drag with only one VSTO/Office instance running. But I still found it taking too long to produce a single report. A nicely formatted VSTO Excel document was taking 45 minutes. (The client didn’t know any better and therefore considered 45 minutes tolerable.)
On my own time, I pulled out an old copy of Aspose.Total for .NET. Within an hour, I had converted the VSTO Excel C# code to Aspose Cells code.
The improvement was astonishing: Instead of the 45-minutes, the report took under a minute! I’ve pasted the client’s exact chat response after he tried the speedy Aspose version:
Microsoft’s VSTO is a free product while the Aspose components cost $$$. Certainly, it can be a tough call when budgets are tight. If you’re trying to convince the client to shell out for something more suitable for the application, get an eval version of Aspose.Total and offer a direct comparison demo.
Full Disclosure: Aspose (like several other component vendors) gives free copies of their suite to MVPs and other .NET influencers.