[rabbitmq-discuss] Asynchronous methods in WCF Binding

michi.oshima moshima at advent.com
Wed Feb 20 20:50:09 GMT 2013


Hi,

I should really share my code but I cannot at this time.  Sorry.

In RabbitMQChannelFactory and RabbitMQChannelListener, there are
"asynchronous" methods like .BeginOpen() and .EndOpen().  Are they...

1. Known to work?
2. Tested?

I am getting at least one exception that might be caused by a defect in
RabbitMQ WCF Binding.  I think this happens somewhere between
RabbitMQChannelFactory.BeginOpen() and .EndOpen():

Exception:

System.InvalidOperationException

Message:

The communication object,
RabbitMQ.ServiceModel.RabbitMQChannelFactory`1[System.ServiceModel.Channels.IOutputChannel],
cannot be modified while it is in the Opening state.

Stack trace:

 at
System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrImmutable()
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan
timeout)
   at
System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr
md, Object[] args, Object server, Object[]& outArgs)
   at
System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage
msg, IMessageSink replySink)

I *think* this happens ultimately because of the following line of code (in
RabbitMQChannelFactory.cs):

   m_openMethod = new CommunicationOperation(Open);

I'm not very knowledgeable about WCF, so I apologize if I'm missing
something obvious.  If there is some code samples where these asynchronous
methods are used successfully on RabbitMQChannelFactory and
RabbitMQChannelListener, that would be ideal.

Thanks,

Michi Oshima



--
View this message in context: http://rabbitmq.1065348.n5.nabble.com/Asynchronous-methods-in-WCF-Binding-tp25100.html
Sent from the RabbitMQ mailing list archive at Nabble.com.


More information about the rabbitmq-discuss mailing list