tags:

views:

23

answers:

0

Dear ladies and sirs.

I have two machines in different domains. The domains are not known to each other (no trust between them). I wish to use the net.msmq binding to communicate data from one endpoint to another.

So, let A and S be two machines, where A must be able to send messages to S. Then, in the config file of A, there is this binding definition:

<netMsmqBinding>
  <binding name="msmq_Binding"
           durable="true"
           useActiveDirectory="false"
           exactlyOnce="false">
    <security>
      <transport msmqAuthenticationMode="None" msmqProtectionLevel="None"/>
    </security>
  </binding>
</netMsmqBinding>

In addition, the following address is used to refer the messaging queue on server: net.msmq://localhost/private/nc. And on the same server the WCF configuration defines the endpoint:

<service name="Shunra.Common.Csla.WcfOneWayPortal" >
  <endpoint address="net.msmq://localhost/private/nc"
            binding="netMsmqBinding"
            bindingConfiguration="nc_msmq"
            contract="Shunra.Common.Contract.IWcfOneWayPortal" />
</service>

In my tests this setup works, but, alas! I am testing it on the local machine, so none of the real life constraints are applied. My question - is it possible to use the private queue in my scenario in real deployment? In reality, the two machines are located on two unknown domains with no trust between them. Or should we use the public queue?

Thanks.