Hi,
I'm trying to decide what is the most most appropriate way of handling full duplex communication between two .Net processes running on the same server or on a LAN. We have two processes that need to be able to invoke methods on each-other.
Currently, we are using WCF with NamedPipe or Tcp channels, and have ProcessA register with ProcessB. Our WCF Contract specifies a Callback interface, so ProcessB can then invoke methods on ProcessA.
My question is which of the following make more sense, is more simple, and more robust?
- Have ProcessB use the Callback interface (supported by WCF) to invoke methods in ProcessA.
- During registration have ProcessA pass ProcessB the required information for ProcessB to register with ProcessA using a new channel?
I don't fully understand the lifetime of the callback proxy and threading issues. I've seen various posts about callback methods blocking.