为什么不自动化
为什么 Aspose 组件是比 Microsoft Office 自动化更好的选择?*
我们在 Aspose 上最常听到两个问题:
- 您的产品是否需要安装 Microsoft Office 才能运行? 简单回答是不。 Aspose 组件是完全独立的,不隶属于 Microsoft Corporation,也不由其授权、赞助或以其他方式批准。
- 为什么我们应该使用 Aspose 产品而不是利用 Microsoft Office 自动化? 我们能给出的最简短的答案是,原因有很多,主要原因是 Microsoft 本身强烈建议不要通过软件解决方案实现 Office 自动化:Office 服务端自动化的注意事项.
为什么不自动化
Aspose 组件是自动化的更好替代方案有几个原因。下面描述了一些关键点。此外,请务必访问本节末尾的链接。
安全
以下是上述引用的 Microsoft 文章的直接引用:
“Office 应用程序从未打算在服务器端使用,因此没有考虑分布式组件所面临的安全问题。Office 不验证传入请求,也不保护您免受无意中运行宏或启动另一台服务器的影响可能会从您的服务器端代码运行宏。不要打开从匿名 Web 上传到服务器的文件!根据上次设置的安全设置,服务器可以在管理员或系统上下文下以完整的方式运行宏特权并危害您的网络!此外,Office 使用许多客户端组件(例如 Simple MAPI、WinInet 和 MSDAIPP)可以缓存客户端身份验证信息以加快处理速度。如果 Office 在服务器端自动化,一个实例可能为多个客户端提供服务,并且由于已为该会话缓存了身份验证信息,因此一个客户端可以使用缓存ed 另一个客户端的凭据,从而通过模拟其他用户获得未授予的访问权限。”
Aspose 产品非常安全。 Aspose 组件在与所有 ASP.NET 应用程序相同的用户上下文中运行,在 ASPNET 用户下。因此,Aspose 组件不会对重要系统资源构成潜在风险。此外,当 Aspose 组件打开文档时,宏不会自动运行。构建 Aspose 组件的目的是允许开发人员创建、操作和保存 Office 文件。与 Microsoft Office 封装相关的风险均不是 Aspose 组件固有的。
稳定
以下是直接引用上面引用的 Microsoft 文章:
“Office 2000、Office XP 和 Office 2003 使用 Microsoft Windows 安装程序 (MSI) 技术使最终用户的安装和自我修复更容易。MSI 引入了“首次使用时安装”的概念,允许动态安装功能或在运行时配置(针对系统,或更常见的是针对特定用户)。在服务器端环境中,这既会降低性能,又会增加出现要求用户批准安装或提供的对话框的可能性一个合适的安装盘。虽然它旨在提高 Office 作为最终用户产品的弹性,但 Office 对 MSI 功能的实现在服务器端环境中会适得其反。此外,Office 在运行服务器时通常无法保证稳定性-side,因为它尚未针对此类用途进行设计或测试。使用 Office 作为网络服务器上的服务组件可能会降低该机器的稳定性,并且结果是您的整个网络。如果您计划自动化 Office 服务器端,请尝试将该程序隔离到一台不会影响关键功能的专用计算机上,并且可以根据需要重新启动。”
由于 Aspose 组件被打包到一个 DLL 中,因此永远不需要安装任何额外的部件或组件来运行它们。 Aspose 组件仅由 .NET 应用程序使用,并且组件代码中没有任何部分旨在等待人类响应。 Aspose 组件已经过全面测试。 Aspose 组件被 IBM、希尔顿、读者文摘、美国银行等公司使用。
可扩展性/速度
以下是直接引用上面引用的 Microsoft 文章:
“服务器端组件需要是高度可重入的、多线程的 COM 组件,具有最小的开销和高吞吐量,适用于多个客户端。Office 应用程序几乎在所有方面都完全相反。它们是不可重入的、基于 STA 的自动化服务器,它们是旨在为单个客户端提供多样化但资源密集型的功能。它们作为服务器端解决方案几乎没有可扩展性,并且对重要元素(例如内存)有固定限制,不能通过配置更改。更重要的是,它们使用全局资源(例如内存映射文件、全局加载项或模板以及共享自动化服务器),如果在多客户端环境中配置这些实例,它们可能会限制可以并发运行的实例数量并导致竞争条件。开发人员计划同时运行任何 Office 应用程序的多个实例需要考虑“池化”或序列化对 Office 应用程序的访问以避免 pote初始死锁或数据损坏。”
Aspose 组件具有高度可扩展性和闪电般的速度。 Office 应用程序的设计目的不是让成百上千的用户同时使用;然而,Aspose 组件正是为此而设计的。我们的组件是真正的 .NET 解决方案,无论是在为单个应用程序提供支持的单个服务器上,还是在为企业范围的应用程序提供支持的负载平衡网络场上,都能完美运行。
价格
当应用程序使用 Microsoft Office 自动化时,必须为每台运行该应用程序的机器购买 Microsoft Office 的副本。很多时候应用程序可能需要创建或操作 office 文件,但并不要求用户拥有 Office。Aspose 提供了一个非常成本效益,免版税的再分发许可证,允许部署到无限数量的用户而无需担心许可问题。
创建基于 Web 的应用程序时,重要的是要知道 Microsoft Office 自动化组件未定价,也未获得服务器端解决方案的许可(许可 Office 2000 Web 组件和 Office 服务器扩展);因此,没有好的许可解决方案来部署使用 Microsoft Office 组件的 Web 应用程序。 Aspose 也为基于服务器的应用程序提供了一种非常经济高效的解决方案。
特征
Aspose 组件提供了管理 Office 文件所需的一切,还有很多很多。它们的设计理念是让开发人员以最少的工作量取得最大的成果。与 Office 自动化不同,Aspose 组件提供许多强大、省时的功能。例如,Aspose.Diagram为开发人员提供创建、读取、写入、导出、打印、访问和保护 Visio diagram 及其形状的能力。每个组件Aspose 系列提供了自己的一套独特的强大功能。
购买 Aspose 组件或组件套件的最佳部分是可以访问我们的开发团队。我们的开发团队意识到,如果您的公司需要某项功能,那么其他公司很可能也需要它。虽然并非每个功能请求都可以添加,但我们的团队在提供帮助时会尽量保持开放和灵活的态度。这种心态帮助 Aspose 组件变得如此强大。如果您需要 Office 自动化对象的其他功能,则添加它们的机会非常非常低。