正在加载图片...
下载 第18章对C++组件的进一步讨论 在前一章中,我们学习了用C++创建COM组件的基本方法,用这些概念创建的组件对于 在内存中处理数据是非常有用的。但是,要制作一个功能强大的服务器组件,需要使用微软 平台提供的其他服务。特别是,创建的组件应能提供对数据的访问、与COM+进行接口以及 与ASP交互的功能。本章主要内容有以下几个方面 使用ASP内置接口。 与COM+进行接口。 通过C++使用ADO。 使用 OLE DE消费者模板。 18.1与ASP进行接口 前一章创建的组件没有考虑到在ASP中的使用,如果想创建在任何环境中使用的一般组 件这是有效的。然而,如果ASP页能访问信息,组件也能访问的话,这个组件在Web应用程序 中将会十分有用。如果能够完成像ASP页一样的基于Web的交互功能,则这个组件将更有用 COM的世界十分精彩,可用C++组件做任何事情。就像在ASP中可以有各种各样可用的对 象一样,可从服务器对象访问这些组件。在ASP中所做的工作大部分可通过下列内置对象实现 Request、 Response、 Session、 Application和 Server。指向任一对象的指针可通过 Scripting Context 获得。因此,关键是得到指向 Scripting Context的指针,然后寻找相应的内置对象 与多数编程工作不同,程序的代码是由 Visual c++ AppWizard产生的。我们要使第17章中创 建的组件“启用ASP”,这时将有两个选择:一种是在本章中创建组件,拷贝并粘贴合适的代码 到前面的组件中:另一种从一个新的组件开始,并加入在前一章中编写的代码。我们选择后者。 使用不同的向导选项创建组件的框架,然后通过 Windiff观察附加代码的生成, 这将有助于理解。Wnd是Vsua|C++附带的程序 使用在上一章创建 ASPComponents TL Object ward Ⅴ isual c++项目,插入一个新的ATL对象 创建一个 ActiveX Server组件而不是创建 Simple object,命名为 CTable Storage2 Simple Obect Addn Obect Intenet 图18-1所示。 Simple object向导与 ActiveX Server向 导的不同在于后者包含ASP属性页。在ASP conery MMC Snapin 属性页中,仅选择 Response复选框。在我 们的例子中,仅使用 Response.对象,但是 如果需要再添加其他内置对象也非常容易, 图18-1创建 ActiveX Server组件 如图18-2所示下载 第18章 对C++组件的进一步讨论 在前一章中,我们学习了用 C + +创建C O M组件的基本方法,用这些概念创建的组件对于 在内存中处理数据是非常有用的。但是,要制作一个功能强大的服务器组件,需要使用微软 平台提供的其他服务。特别是,创建的组件应能提供对数据的访问、与 C O M +进行接口以及 与A S P交互的功能。本章主要内容有以下几个方面: • 使用A S P内置接口。 • 与C O M +进行接口。 • 通过C + +使用A D O。 • 使用OLE DB消费者模板。 18.1 与A S P进行接口 前一章创建的组件没有考虑到在 A S P中的使用,如果想创建在任何环境中使用的一般组 件这是有效的。然而,如果 A S P页能访问信息,组件也能访问的话,这个组件在 We b应用程序 中将会十分有用。如果能够完成像 A S P页一样的基于We b的交互功能,则这个组件将更有用。 C O M的世界十分精彩,可用C + +组件做任何事情。就像在A S P中可以有各种各样可用的对 象一样,可从服务器对象访问这些组件。在A S P中所做的工作大部分可通过下列内置对象实现: R e q u e s t、R e s p o n s e、S e s s i o n、A p p l i c a t i o n和S e r v e r。指向任一对象的指针可通过S c r i p t i n g C o n t e x t 获得。因此,关键是得到指向S c r i p t i n g C o n t e x t的指针,然后寻找相应的内置对象。 与多数编程工作不同,程序的代码是由Visual C++ AppWi z a r d产生的。我们要使第1 7章中创 建的组件“启用A S P”,这时将有两个选择:一种是在本章中创建组件,拷贝并粘贴合适的代码 到前面的组件中;另一种从一个新的组件开始,并加入在前一章中编写的代码。我们选择后者。 使用不同的向导选项创建组件的框架,然后通过 Wi n d i ff观察附加代码的生成, 这将有助于理解。Wi n d i ff是Visual C++附带的程序。 使用在上一章创建 A S P C o m p o n e n t s Visual C++项目,插入一个新的 AT L对象。 创建一个 ActiveX Server 组件而不是创建 Simple Object,命名为C Ta b l e S t o r a g e 2,如 图1 8 - 1所示。 Simple Object向导与ActiveX Server向 导的不同在于后者包含 A S P属性页。在A S P 属性页中,仅选择 R e s p o n s e复选框。在我 们的例子中,仅使用 R e s p o n s e对象,但是 如果需要再添加其他内置对象也非常容易, 如图1 8 - 2所示。 图18-1 创建ActiveX Server组件
向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有