I found this documentation that explains how to implement an asynchronous WCF service operation:
https://msdn.microsoft.com/en-us/library/ms731177(v=vs.110).aspx
This makes me wonder why (or when) would I want to make my service operations asynchronous, when the client can generate asynchronous versions of the operations himself. When a client generates asynchronous versions of the operations, is it the same as if the service already implemented asynchronous operations itself?
Also, in the sample code in the documentation, there is no OperationContractAttribute for the end methods. Why?