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


Создание компонентов очереди

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

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

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

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

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

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

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

  5. Активируйте поле проверка с меткой "Очередь".

    Примечание.

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

     

  6. Щелкните OK.

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

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

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