创建可排队组件
至少有一个可排队接口的组件是可排队组件。 若要使组件可由队列调用,必须将接口标记为可排队,并且必须将该组件安装在排队应用程序中。 但是,可排队组件可以是非排队应用程序的组件。
可排队接口必须仅包含在参数中 - 没有 out 参数,也没有返回值。 通过在组件安装期间分析类型信息来验证这些特征。 如果接口不可排队,则无法激活包含组件的应用程序的队列。
若要将 COM+ 接口指定为可排队,请使用以下步骤:
在组件服务管理工具的控制台树中,在“组件服务”下,打开与要管理的计算机关联的“COM+ 应用程序”文件夹。
打开要排队的 COM+ 应用程序的组件的“接口”文件夹。
右键单击要标记为可排队的接口,然后单击“属性”。
在“属性”对话框中选择“队列”选项卡。
激活标记为“已排队”的复选框。
注意
如果“已排队”复选框灰显,则接口不满足上述可排队约束。
单击“确定”。
对于可排队的所有接口,通过将 QUEUEABLE 属性宏添加到接口定义语言 (IDL) 源文件的“接口”部分来标识可排队组件。
#include "mtxattr.h" [ object, dual, uuid(), helpstring(IShiphip"), QUEUEABLE ] interface IShip:IDispatch{ [propput, id(1)] HRESULT CustomerId ([in] long CustId); [propput, id(2)] HRESULT OrderId ([in] long OrderID); [id(3)] HRESULT LineItem ([in] long Qty); [id(4)] HRESULT Process (); }
相关主题