Sdílet prostřednictvím


Použití MSMQ jako transportu RPC

Subsystém RPC podporuje použití MSMQ jako přenosu v synchronních a asynchronních režimech.

Synchronní režim používá konvenční vzdálená volání procedur. Tato volání používají dobře známé koncové body a přenos pomocí fronty zpráv, ncadg_mq, jako přenosový protokol. V synchronním režimu můžou vzdálené procedury obsahovat parametry [ v] a [ out] a mohou používat standardní služby zabezpečení RPC. Subsystém RPC vytvoří frontu odpovědí pro vzdálená volání obsahující [out] parametry. Synchronní režim je užitečný pro aplikace, kde klient potřebuje přijímat data ze serveru. Hlavním omezením tohoto režimu je, že stejně jako u konvenčních vzdálených volání procedur musí být klient i server spuštěný a po dobu trvání volání zůstane spuštěný.

Asynchronní režim umožňuje klientským aplikacím volat server a vrátit se okamžitě bez ohledu na stav serverové aplikace nebo počítače serveru. Zpřístupňuje také podmnožinu funkcí MSMQ pro správu front zpráv a toku informací. Funkce RpcBindingSetOption umožňuje řídit kvalitu poskytované služby, prioritu volání, logování, zabezpečení a životnost fronty procesu serveru. Funkce RpcServerUseProtseqEpEx umožňuje zadat atributy fronty procesu serveru, jako je trvalost fronty, ověřování a šifrování.

Implementujete asynchronní MSMQ stejně jako synchronní MSMQ. Musíte použít dobře známé koncové body a definovat transportní protokol, který má být ncadg_mq. V souboru IDL použijte atribut zprávy na funkce, které používají asynchronní řazení zpráv do front. Funkce zpráv můžou mít pouze parametry [in].