public void Ping_DataContract(Guid guid) { dc_callback = OperationContext.Current.GetCallbackChannel<IWcfDuplexService_DataContract_Callback>(); ComplexCompositeTypeDuplexCallbackOnly complexCompositeType = new ComplexCompositeTypeDuplexCallbackOnly(); complexCompositeType.GuidValue = guid; // Schedule the callback on another thread to avoid reentrancy. Task.Run(() => dc_callback.OnDataContractPingCallback(complexCompositeType)); }