@@ -71,39 +71,53 @@ public class QueueClient<TSerializer>
7171
7272 private void HandleMessage ( Func < byte [ ] , WorkerResult > handler , BasicDeliverEventArgs @event )
7373 {
74- WorkerResult res = handler ( @event . Body ) ;
75- switch ( res )
74+ try
75+ {
76+ WorkerResult res = handler ( @event . Body ) ;
77+ switch ( res )
78+ {
79+ case WorkerResult . Success :
80+ Acknowledge ( @event . DeliveryTag ) ;
81+ break ;
82+ case WorkerResult . Requeue :
83+ Reject ( @event . DeliveryTag ) ;
84+ break ;
85+ case WorkerResult . Failed :
86+ Reject ( @event . DeliveryTag , false ) ;
87+ break ;
88+ default :
89+ throw new ArgumentOutOfRangeException ( ) ;
90+ }
91+ }
92+ catch
7693 {
77- case WorkerResult . Success :
78- Acknowledge ( @event . DeliveryTag ) ;
79- break ;
80- case WorkerResult . Requeue :
81- Reject ( @event . DeliveryTag ) ;
82- break ;
83- case WorkerResult . Failed :
84- Reject ( @event . DeliveryTag , false ) ;
85- break ;
86- default :
87- throw new ArgumentOutOfRangeException ( ) ;
94+ Reject ( @event . DeliveryTag ) ;
8895 }
8996 }
9097
9198 private void HandleMessage ( Func < BasicDeliverEventArgs , WorkerResult > handler , BasicDeliverEventArgs @event )
9299 {
93- WorkerResult res = handler ( @event ) ;
94- switch ( res )
100+ try
101+ {
102+ WorkerResult res = handler ( @event ) ;
103+ switch ( res )
104+ {
105+ case WorkerResult . Success :
106+ Acknowledge ( @event . DeliveryTag ) ;
107+ break ;
108+ case WorkerResult . Requeue :
109+ Reject ( @event . DeliveryTag ) ;
110+ break ;
111+ case WorkerResult . Failed :
112+ Reject ( @event . DeliveryTag , false ) ;
113+ break ;
114+ default :
115+ throw new ArgumentOutOfRangeException ( ) ;
116+ }
117+ }
118+ catch
95119 {
96- case WorkerResult . Success :
97- Acknowledge ( @event . DeliveryTag ) ;
98- break ;
99- case WorkerResult . Requeue :
100- Reject ( @event . DeliveryTag ) ;
101- break ;
102- case WorkerResult . Failed :
103- Reject ( @event . DeliveryTag , false ) ;
104- break ;
105- default :
106- throw new ArgumentOutOfRangeException ( ) ;
120+ Reject ( @event . DeliveryTag ) ;
107121 }
108122 }
109123
@@ -166,9 +180,9 @@ private string GetQueueIdentifier(string ret, string name, string[] args)
166180
167181 private void RegisterQueues < TInterface > ( )
168182 {
169- var iType = typeof ( TInterface ) ;
170- var methods = iType . GetMethods ( BindingFlags . Public | BindingFlags . Instance | BindingFlags . InvokeMethod ) ;
171- foreach ( var info in methods )
183+ Type iType = typeof ( TInterface ) ;
184+ MethodInfo [ ] methods = iType . GetMethods ( BindingFlags . Public | BindingFlags . Instance | BindingFlags . InvokeMethod ) ;
185+ foreach ( MethodInfo info in methods )
172186 {
173187 var h = new
174188 {
@@ -178,7 +192,7 @@ private void RegisterQueues<TInterface>()
178192 } ;
179193 var queueName = GetQueueIdentifier ( h . ret , h . name , h . args ) ;
180194
181- var res = _model . QueueDeclare ( queueName , true , false ) ;
195+ QueueDeclareOk res = _model . QueueDeclare ( queueName , true , false ) ;
182196 IDictionary < string , object > spec = new Dictionary < string , object >
183197 {
184198 { "x-match" , "all" } ,
@@ -393,7 +407,7 @@ public async Task<object> Intercept(Invocation invocation)
393407 object result = null ;
394408 var handler = new Func < byte [ ] , WorkerResult > ( d =>
395409 {
396- var type = invocation . Method . ReturnType ;
410+ Type type = invocation . Method . ReturnType ;
397411 if ( type . IsTaskT ( ) )
398412 {
399413 type = invocation . Method . ReturnType . GenericTypeArguments [ 0 ] ;
0 commit comments