WCF is not a "remote object call" method or anything - it's pure messaging. Thus, havnig the "by-ref" parameter can be compiled, but it really won’t do anything useful.
On your client, you have a method with the parameters that you call. Then the WCF intercepts this call, packs the parameters and any additional information needed in the message, serializes this message (in text or binary XML) and sends this message to the server via posting.
The server then deserializes the messages back to the parameter set, and the dispatcher component on the server then creates an instance of the service class and calls the appropriate method for this instance of the service class with the parameters from the message.
The whole story runs back for the response sent by the server.
But then again: all that you exchange between the client and the server is a serialized message - there is absolutely no point in creating a “by ref” parameter - it cannot be a by-ref parameter, in the end. Server and client are completely separate worlds, completely separate objects and classes - they just look the same on the wire.
So, I think that the one who wrote this WCF method did not understand the principles of transmitting a WCF message, but was tricked by how WCF feels - just like a method call. But in the end, it's not just a method call.
marc_s
source share