c# - Get queue name from inside QueueClient.OnMessage callback -


queueclient.onmessage takes callback, action<brokeredmessaged>, argument executed internal message pump that's polling queue (or subscription) when message available.

i've been looking @ brokeredmessage type in reflector can't find way queue name message came from brokeredmessage object (that last part key). if possible, how can pulled out?

finally figured out solution using reflection:

public void onmessagecallback(brokeredmessage message) {     var context = message.gettype().getproperty("receivecontext", bindingflags.nonpublic | bindingflags.instance).getvalue(message);     var receiver = (messagereceiver)context.gettype().getproperty("messagereceiver", bindingflags.public | bindingflags.instance).getvalue(context);     var queuename = receiver.path; } 

Comments