none
WCF-NetTCP Reliable messaging RRS feed

  • Question

  • Hi All,

     

       I have to design a reliable messaging exchange between BizTalk Server and WCF exposed service (Proxy intermediaries, intermittent conncetivity...) .


       I plan to use WCF service bind with NetTcp. Indeed WCF documentation specify in http://msdn.microsoft.com/en-us/library/ms733136.aspx that NetTcp ensure the support of WS-ReliableMessaging. (However i misundertand the 2 tables in the page, if someone can explain...)

     

       Whereas WCF-NetTCP BizTalk adapter doesn't seem to support WS-ReliableMessaging (http://msdn.microsoft.com/en-us/library/bb226419.aspx).

     

    Question :
        When messages are sent thought WCF-NetTCP adapter (One way or two way) do i benefit a reliability transmisison ?
    i think i don't.  but i should be sure and prevent me from using WCF-NetMsmq which require a different infrastructure.

    What do you think ?

     

    Regards,

    Nicholas

    Tuesday, November 25, 2008 4:58 PM

Answers

  • As for the two tables of session channels, the first is for the client channels, the second is for the server channels. The table cells have similar compatibilities.

     

    You are correct, the documentation states the BizTalk WCF-NetTCP adapter does not support reliable messages. And yes, use of WCF-NetMsmq requires you to have MSMQ on both the client and the server. I think the MSMQ option is more predictable. There must be something about the way the BizTalk WCF-NetTCP that prevents it from providing reliable messaging - I am not sure why this difference between the out-of-the-box WCF functionality and the adapter exists.

     

    Thanks,

    Wednesday, November 26, 2008 6:00 AM
    Moderator
  • Thanks Ben.

     

    I recently found another option to manage reliable messaging with net.tcp, we can use WCF-Custom adapter with an URI like : net.tcp://*..., on binding tab we can set Reliable messaging.  

     

    Regards,

    Nicholas

    Wednesday, November 26, 2008 1:27 PM

All replies

  • As for the two tables of session channels, the first is for the client channels, the second is for the server channels. The table cells have similar compatibilities.

     

    You are correct, the documentation states the BizTalk WCF-NetTCP adapter does not support reliable messages. And yes, use of WCF-NetMsmq requires you to have MSMQ on both the client and the server. I think the MSMQ option is more predictable. There must be something about the way the BizTalk WCF-NetTCP that prevents it from providing reliable messaging - I am not sure why this difference between the out-of-the-box WCF functionality and the adapter exists.

     

    Thanks,

    Wednesday, November 26, 2008 6:00 AM
    Moderator
  • Thanks Ben.

     

    I recently found another option to manage reliable messaging with net.tcp, we can use WCF-Custom adapter with an URI like : net.tcp://*..., on binding tab we can set Reliable messaging.  

     

    Regards,

    Nicholas

    Wednesday, November 26, 2008 1:27 PM
  • hi


    *I have created a chat applictaion using netpeertcp binding and tcpbinding.It uses multiple meshes and channels.
     
    *I want that when the client is offline,n comes online after some time,he should be able to see those offline messages for him.Can this be done using Reliable messaging in WCF using reliableSession element?My config code is as follows:
     

    <bindings>

    <netTcpBinding>

    <binding name="TcpConfig">

    <reliableSession enabled="true" ordered="true" />

    <security mode="Message"></security>

    </binding>

    </netTcpBinding>

    </bindings>

     

    Will this alone change in service and client configuration file serve my needs?i did but could not see any changes...it works normally as before..

    Waiting for some response...

    Mumtaz



    Mumtaz Surani
    Friday, March 12, 2010 6:54 AM
  • WCF RM will probably not serve your needs for disconnected message delivery. I would resort to using message queuing or some kind of a custom persistence store to handle this. RM is meant more for ensuring the message gets there on a lower network level.

    This actually would fit very well with WCF 4 discoverability (WS Discovery). There are also some improvements in WCF 4 to handle offline/disconnected scenarios - see this blog post: http://blogs.msdn.com/discovery/archive/2009/06/04/discover-services-using-announcements.aspx. .NET 4 is about to be released so you should consider this option too.

    Thanks,
    If this answers your question, please use the "Answer" button to say so | Ben Cline
    Friday, March 12, 2010 1:55 PM
    Moderator