Поделиться через


Создание компонентов, подлежащих постановке в очередь

Компонент с по крайней мере одним интерфейсом очереди — это компонента. Для вызова компонента очередью, интерфейсы должны быть помечены как способные к очереди, а сам компонент должен быть установлен в приложении с поддержкой очереди. Однако компонент, который может обрабатываться в очереди, может быть частью не являющегося очередью приложения.

Интерфейс очереди должен содержать только параметры ввода, без выходных параметров и без возвращаемых значений. Эти характеристики проверяются путем анализа сведений о типе во время установки компонента. Если интерфейс не поддерживает очередь, очередь приложения, содержащего компонент, не может быть активирована.

Чтобы указать интерфейс COM+ как подлежащий очереди, выполните следующие действия.

  1. В дереве консоли средства администрирования служб компонентов в разделе Службы компонентовоткройте папку приложений COM+, связанную с компьютером, которым требуется управлять.

  2. Откройте папку интерфейсов компонента приложения COM+, который требуется включить в очередь.

  3. Щелкните правой кнопкой мыши интерфейс, который требуется пометить как доступный для очереди, и щелкните Свойства.

  4. Выберите вкладку в диалоговом окне свойств.

  5. Активируйте флажок, помеченный в очереди.

    Заметка

    Если флажок очереди неактивен, интерфейс не удовлетворяет ограничениям, описанным выше.

     

  6. Нажмите кнопку ОК.

    Компонент, поддерживающий очереди, можно определить как таковой, добавив макрос атрибута 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 ();
    }
    

Создание Очередей Компонентов

Разработка очередных компонентов