This message cannot support the operation because it has been copied

Has this error message happened to you? It's because the lifetime of a message only lasts for one use. Once you've looked at the contents of a message, or copied the contents somewhere, you can't read the message again. This is a common problem encountered when people are trying to write a message inspector. Since you're expected to pass the message along after you're done inspecting it, it's quite likely that you'll need to make a new copy of the message. If you don't make a copy of the message, then the next person will have nothing to read.

This means that your message inspector code should look something like this:

 public void AfterReceiveReply(ref Message reply, object correlationState)
{
   MessageBuffer buffer = reply.CreateBufferedCopy(MaxMessageSize);

   // Do something with the copied message

   reply = buffer.CreateMessage();
   buffer.Close();
}