运行时存储控件概述
更新:2007 年 11 月
适用对象 |
---|
本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。 项目类型
Microsoft Office 版本
有关更多信息,请参见按应用程序和项目类型提供的功能。 |
运行时存储控件是一个 ActiveX 控件,它嵌入在属于 Microsoft Office 2003 文档级自定义项的文档或工作簿中。运行时存储控件包含 Visual Studio Tools for Office 运行时运行自定义项所需的以下信息:
应用程序清单。
零个或多个缓存的数据对象。
当您生成项目时,运行时存储控件嵌入在文档中。在运行时,该控件在文档中不可见。
说明: |
---|
2007 Microsoft Office system 的文档级自定义项不使用运行时存储控件。相反,Visual Studio Tools for Office 运行时存储信息作为嵌入在文档中的自定义 XML 部件。 |
应用程序清单
应用程序清单存储运行托管的代码扩展所必需的信息。应用程序清单指向服务器上的部署清单(其中包含程序集的最新位置),或者直接指向自定义项程序集。有关更多信息,请参见 Office 解决方案中的应用程序和部署清单。
缓存的数据
在声明对象时,可以使用 CachedAttribute 属性在文档中缓存数据对象。进行缓存可以减少到服务器的往返过程数,从而能够与离线数据进行交互。有关更多信息,请参见文档级自定义项中的数据概述和缓存数据。
删除或复制运行时存储控件
最终用户删除或复制运行时存储控件是可能的。下面的示例演示 Visual Studio Tools for Office 运行时如何能够检测和更正这些情形。
最终用户执行“全选”并按 Delete 键
运行时存储控件被删除。不过,该控件使用即将删除的信息来调用 Visual Studio Tools for Office 运行时。运行时向文档添加该控件的一个新实例,并挂钩到新的事件接收器,同时提供保持的信息。
最终用户执行“全选”,然后复制并粘贴到相同文档中
现在有两个运行时存储控件。不过,运行时将检查是否有该控件的多个实例。如果有,它将删除额外的实例。
最终用户执行“全选”,然后复制并粘贴到具有托管代码扩展的不同文档中
现在有两个声称包含文档的主要存储信息的运行时存储控件。不过,当该控件在设计时嵌入文档时,将会为其创建一个唯一标识符 (GUID)。这个 GUID 还被嵌入自定义的文档属性 _AssemblyLocation 中。文档中的任何运行时存储控件都必须具有该 GUID。如果在加载时从文档中发现其他运行时存储控件,而其 GUID 与文档中存储的不匹配,将从文档中删除该控件。
最终用户执行“全选”,然后复制并粘贴到新的空白文档中
现在有一个包含未使用的运行时存储控件的新文档。如果文档中没有适当的自定义项,该控件不会执行任何操作。不过,它仍然占据文档中的空间。
请参见
概念
参考
Office 解决方案的应用程序清单 (2003 System)