WCF (BeginBlah/EndBlah) . ,
[OperationContract(AsyncPattern=true)]
IAsyncResult BeginSomething(AsyncCallback, object)
void EndSomething(IAsyncResult)
... "-". WCF: , / .
, WCF (, Add Service Reference), , , , . , , .
, WCF, , , : , WCF , . , , . : NetTcpBinding .
, , , - WCF. async ( -, - ), , , , DOS- ( WCF IO), .
. MSDN
Note. If you share the contract interface between the client and the server, then obviously the synchronization of both ends is appropriate (because they both use the same type of interface), but this is just a limitation on the use of a common interface. If you made another equivalent interface that differs only in an asynchronous template, you could still create a ChannelFactory against it simply.