public async Task <byte[]> Serialize() { string xml = Call.GenerateXML(); byte[] handleBytes = BitConverter.GetBytes(Handle); byte[] xmlBytes = Encoding.UTF8.GetBytes(xml); byte[] lenBytes = BitConverter.GetBytes(xmlBytes.Length); byte[] serialized = new byte[lenBytes.Length + handleBytes.Length + xmlBytes.Length]; Buffer.BlockCopy(lenBytes, 0, serialized, 0, lenBytes.Length); Buffer.BlockCopy(handleBytes, 0, serialized, lenBytes.Length, handleBytes.Length); Buffer.BlockCopy(xmlBytes, 0, serialized, lenBytes.Length + handleBytes.Length, xmlBytes.Length); return(serialized); }