views:

41

answers:

2

Hi everyone,

here's my problem. I am using WCF for communication between two services. I am wondering if the reliableSession option guarantees that a message received by one service is really the same as the message sent by the other service, i.e., that no bit flips or similar happened on the wire?

I know that reliableSession takes care of resending messages etc. if they are not acknowledged correctly, but will it perform CRC checks or something to make sure that messages have been transferred correctly?

+1  A: 

Reliable sessions only take care of ensuring delivery and aspects related to that (i.e. prevention of duplicates, ordering, etc.). It is message level and/or transport level security that ensures the contents of the message itself.

MattK
Thank you! That answers my question.
Jan
A: 

I'd like to add a second aspect I learned offline in the mean time.

The TCP protocol already contains CRC mechanisms to ensure at packet level that the delivered data is not corrupt. To then, in agreement with the other answer to this question, there would not even be a need for providing this in reliableSessions.

Security, of course, is still needed if you want to make sure that the data has not been tampered with.

Jan