缺点
进程内服务器通过本地服务器的编辑功能提供对象处理程序的速度和大小优势。 那么,为什么选择将 OLE 应用程序作为本地服务器而不是进程内服务器实现? 有几个原因:
- 安全性。 只有本地服务器与客户端的地址空间隔离。 进程内服务器共享客户端的地址空间和进程上下文,因此在遇到故障或恶意编程时可能不太可靠。
- Granularity。 本地服务器可以跨多个不同客户端托管其对象的多个实例,以多种方式在多个客户端中的对象之间共享服务器状态;如果作为进程内服务器实现,这仅仅是加载到每个客户端中的 DLL,那么就很难共享或无法共享。
- 兼容性。 如果选择实现进程内服务器,则放弃与 OLE 1 的兼容性,这不支持此类服务器。 对于许多开发人员来说,这不是一个考虑因素,但如果是,那么这是一个关键问题。
- 无法支持链接。 进程内服务器不能用作链接源。 由于 DLL 本身无法运行,因此无法创建要链接到的文件对象。
尽管存在这些缺点,但进程内服务器因其速度和大小仍是一个很好的选择,前提是它符合所有其他要求。
相关主题