File tree Expand file tree Collapse file tree 2 files changed +15
-7
lines changed
Expand file tree Collapse file tree 2 files changed +15
-7
lines changed Original file line number Diff line number Diff line change 3030IConnection connection = await environment . CreateConnectionAsync ( ) ;
3131Trace . WriteLine ( TraceLevel . Information , $ "Connected to the broker { connection } successfully") ;
3232
33- const string rpcQueue = "amqp10.net-rpc-queue" ;
34-
3533IManagement management = connection . Management ( ) ;
3634
37- IQueueSpecification queueSpec = management . Queue ( rpcQueue ) . Type ( QueueType . QUORUM ) ;
35+ const string requestQueue = "amqp10.net-request-queue" ;
36+
37+ IQueueSpecification queueSpec = management . Queue ( requestQueue ) . Type ( QueueType . QUORUM ) ;
3838await queueSpec . DeclareAsync ( ) ;
3939
4040const int messagesToSend = 10_000_000 ;
4141TaskCompletionSource < bool > tcs = new ( ) ;
4242int messagesReceived = 0 ;
4343IResponder responder = await connection . ResponderBuilder ( ) .
44- RequestQueue ( rpcQueue ) . Handler (
44+ RequestQueue ( requestQueue ) . Handler (
4545 ( context , message ) =>
4646 {
4747 try
6161) . BuildAsync ( ) ;
6262
6363IRequester requester = await connection . RequesterBuilder ( ) . RequestAddress ( ) .
64- Queue ( rpcQueue ) . Requester ( ) . BuildAsync ( ) ;
64+ Queue ( requestQueue ) . Requester ( ) . BuildAsync ( ) ;
6565
6666for ( int i = 0 ; i < messagesToSend ; i ++ )
6767{
6868 try
6969 {
70- IMessage reply = await requester . PublishAsync (
70+ IMessage response = await requester . PublishAsync (
7171 new AmqpMessage ( $ "ping_{ DateTime . Now } ") ) ;
72- Trace . WriteLine ( TraceLevel . Information , $ "[Client] Reply received: { reply . BodyAsString ( ) } ") ;
72+ Trace . WriteLine ( TraceLevel . Information , $ "[Client] Response received: { response . BodyAsString ( ) } ") ;
7373 }
7474 catch ( Exception e )
7575 {
Original file line number Diff line number Diff line change 1+ ## Request and Response Example
2+
3+ This example demonstrates how to create a simple RPC (Remote Procedure Call)
4+ Service will allow clients (or requesters) to send a request with a message and receive a response from the server
5+ (or responder) with a greeting.
6+
7+ This example uses [ Direct Reply-To feature] ( https://www.rabbitmq.com/docs/next/direct-reply-to#overview )
8+ since the reply queue is not specified by the client, but it is automatically created by the server.
You can’t perform that action at this time.
0 commit comments