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


Использование моникера очереди

Моникер очереди используется для программной активации компонента очереди. Моникер очереди требует, чтобы он получил идентификатор класса (CLSID) объекта, который будет вызываться из нового моникера непосредственно справа от него. Когда слева префикс, новый моникер передает CLSID моникеру слева от него.

Средство Администратор istrative Services

Не применяется.

Visual Basic

Параметр отображаемого имени GetObject — queue:/new:, за которым следует идентификатор программы или GUID строковой формы, с фигурными скобками или без экземпляра объекта сервера. В следующих примерах показаны три допустимых активации компонента с моникером очереди:

  1. Set objMyQC = GetObject ("queue:/new:QCShip.Ship")
    
  2. Set objMyQC = GetObject ("queue:/new:{812DF40E-BD88-11D0-8A6D-00C04FC340EE}")
    
  3. Set objMyQC = GetObject ("queue:/new:812DF40E-BD88-11D0-8A6D-00C04FC340EE")
    

C/C++

Параметр отображаемого имени CoGetObject — "queue:/new:", за которым следует идентификатор программы или GUID строковой формы( с фигурными скобками или без нее) экземпляра объекта сервера. В следующих примерах показаны три допустимых активации компонента с моникером очереди:

  1. hr = CoGetObject (
      L"queue:/new:QCShip.Ship",
      NULL, IID_IShip, (void**)&pShip);
    
  2. hr = CoGetObject (
      L"queue:/new:{812DF40E-BD88-11D0-8A6D-00C04FC340EE}", 
      NULL, IID_IShip, (void**)&pShip);
    
  3. hr = CoGetObject (
      L"queue:/new:812DF40E-BD88-11D0-8A6D-00C04FC340EE",
      NULL, IID_IShip, (void**)&pShip);
    

Замечания

Моникер очереди принимает необязательные параметры, изменяющие свойства сообщения, отправленные в очередь сообщений. Например, чтобы вызвать отправку сообщения очереди сообщений с приоритетом 6, компонент очереди будет активирован следующим образом:

hr = CoGetObject (
  L"queue:Priority=6,ComputerName=MyComp/new:QCShip.Ship",
  NULL, IID_IShip, (void**)&pShip);

В следующей таблице перечислены параметры моникера очереди, влияющие на целевую очередь.

Параметр Описание
ИмяКомпьютера
Указывает часть имени компьютера имени пути очереди очереди сообщений. Имя пути очереди очереди сообщений отформатировано как имя очереди ComputerName<em>QueueName. Если оно не указано, используется имя компьютера, связанное с настроенным приложением.
QueueName
Указывает имя очереди очереди сообщений. Имя пути очереди очереди сообщений отформатировано как имя очереди ComputerName<em>QueueName. Если это не указано, используется имя очереди, связанное с настроенным приложением.
Чтобы получить очередь без транзакций, сначала можно указать имя очереди, а затем создать приложение COM+ с тем же именем.
PathName
Указывает полное имя пути очереди очереди сообщений. Если не указано, используется имя пути очереди сообщений, связанного с настроенным приложением. Чтобы переопределить имя назначения, путь можно указать в следующей форме для установки рабочей группы очереди сообщений:
Queue:PathName=ComputerName\PRIVATE$\AppName/new:Myproject.CMyClass
Примечание. Для языков программирования C и Microsoft Visual C++ требуется две обратные косые черты для представления одной обратной косой черты в строковых литералах, например чикаго\payroll.
Formatname
При помечаете приложение COM+ как в очереди, COM+ создает очередь очереди очереди сообщений, имя которой совпадает с именем приложения. Имя формата очереди сообщений этой очереди находится в каталоге COM+, связанном с приложением COM+. Чтобы переопределить имя назначения, имя формата можно указать в следующей форме для установки рабочей группы очереди сообщений:
Queue:FormatName=DIRECT=OS:ComputerName\PRIVATE$\AppName/new:ProgId
В конфигурации Active Directory "PRIVATE$" не указывается в качестве части имени очереди.

Примечание.

Необязательные параметры моникера очереди обрабатываются слева направо. Укажите каждый ключевое слово только один раз. Указание параметра PathName заменяет параметры ComputerName и QueueName. Определенный параметр FormatName удаляет предварительное знание параметра ComputerName, QueueName и PathName .

Связывание прослушивателя очередей с определенной частной очередью

Прослушиватель компонентов COM+ получает только из очередей, связанных с помеченным приложением COM+. При помечаете приложение COM+ как в очереди, COM+ создает очередь очереди очереди сообщений, имя которой совпадает с именем приложения. Имя формата очереди сообщений этой очереди находится в каталоге COM+, связанном с приложением COM+. Когда приложение COM+ запускается и помечается как прослушиватель, запускается прослушиватель в процессе приложения COM+ и открывается очередь. В следующей таблице перечислены параметры моникера очереди, влияющие на сообщение очереди.

Параметр Описание
AppSpecific
Указывает целое число без знака, например AppSpecific=12345.
AuthLevel
Указывает уровень проверки подлинности сообщения. Прошедшее проверку подлинности сообщение имеет цифровую подпись и требует сертификата для пользователя, отправляющего сообщение. Допустимые значения:
  • MQMSG_AUTH_LEVEL_NONE,0
  • MQMSG_AUTH_LEVEL_ALWAYS,1
Доставка
Задает параметр доставки сообщений. Это значение игнорируется для транзакционных очередей. Допустимые значения:
  • MQMSG_DELIVERY_EXPRESS,0
  • MQMSG_DELIVERY_RECOVERABLE,1
EncryptAlgorithm
Указывает алгоритм шифрования, используемый очередью сообщений для шифрования и расшифровки сообщения. Допустимые значения:
  • CALG_RC2, CALG_RC4
  • Любое целочисленное значение, допустимое для очереди сообщений для EncryptAlgorithm.
Hashalgorithm
Указывает криптографическую хэш-функцию. Допустимые значения:
  • CALG_MD2, CALG_MD4, CALG_MD5, CALG_SHA, CALG_SHA1, CALG_MAC CALG_SSL3_SHAMD5, CALG_HMAC, CALG_TLS1PRF
  • Любое целочисленное значение, допустимое для очереди сообщений для hashAlgorithm.
Журнал
Задает параметр журнала сообщений очереди сообщений. Допустимые значения:
  • MQMSG_JOURNAL_NONE,0
  • MQMSG_DEADLETTER,1
  • MQMSG_JOURNAL,2
Подпись
Задает строку метки сообщения до MQ_MAX_MSG_LABEL_LEN символов.
MaxTimeToReachQueue
Указывает максимальное время (в секундах), чтобы сообщение достигло очереди.
Допустимые значения:
  • INFINITE
  • LONG_LIVED
  • Количество секунд
MaxTimeToReceive
Указывает максимальное время (в секундах) для получения сообщения целевым приложением. Допустимые значения:
  • INFINITE
  • LONG_LIVED
  • Количество секунд
Приоритет
Задает уровень приоритета сообщения в допустимых значениях очереди сообщений.
Допустимые значения:
  • MQ_MIN_PRIORITY,0
  • MQ_MAX_PRIORITY,7
  • MQ_DEFAULT_PRIORITY,3
  • Число от 0 до 7
PrivLevel
Задает уровень конфиденциальности, используемый для шифрования сообщений.
Допустимые значения:
  • MQMSG_PRIV_LEVEL_NONE, NONE, 0
  • MQMSG_PRIV_LEVEL_BODY, BODY,
  • MQMSG_PRIV_LEVEL_BODY_BASE, BODY_BASE, 1
  • MQMSG_PRIV_LEVEL_BODY_ENHANCED, BODY_ENHANCED, 3
Трассировка
Задает параметры трассировки, используемые в маршрутизации очереди сообщений трассировки.
Допустимые значения:
  • MQMSG_TRACE_NONE,0
  • MQMSG_SEND_ROUTE_TO_REPORT_QUEUE,1

Полный набор функций COM+ Администратор istrative SDK доступен с помощью COM-объектов. Это позволяет любой программе запускать и останавливать приложения COM+ по мере необходимости.

Примечание.

При запуске приложения COM+ это приложение, которое выполняется, а не отдельные компоненты в приложении. Если приложение вызывает компонент, отличный от очереди, запускается приложение COM+, содержащее компонент. Если прослушиватель проверка включен, прослушиватель также запускает и начинает обработку сообщений для очередных компонентов. Хотя служба компонентов очереди может быть запущена таким образом, если вы упаковываете компоненты очереди и не очереди в одно приложение COM+, убедитесь, что вы действительно хотите, чтобы компоненты очереди запускались, если не очереди выполняются. Если это не так, упаковайте компоненты очереди в приложение COM+, которое отделяется от других компонентов.

Активация очередей компонентов