运行时存储控件概述

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 文档级项目

Microsoft Office 版本

  • Microsoft Office 2003

有关更多信息,请参见按应用程序和项目类型提供的功能

运行时存储控件是一个 ActiveX 控件,它嵌入在属于 Microsoft Office 2003 文档级自定义项的文档或工作簿中。运行时存储控件包含 Visual Studio Tools for Office 运行时运行自定义项所需的以下信息:

  • 应用程序清单。

  • 零个或多个缓存的数据对象。

当您生成项目时,运行时存储控件嵌入在文档中。在运行时,该控件在文档中不可见。

7ydwehbf.alert_note(zh-cn,VS.90).gif说明:

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)

其他资源

Visual Studio Tools for Office 解决方案的结构