Pelez, lavez et plongez les asperges dans une grande casserole d'eau bouillante salée. Laissez-les cuire 6 à 8 minutes à grande ébullition.
Testez la cuisson avec une fourchette, retirez-les, plongez-les dans de l'eau glacée pendant une minute et égouttez-les. Réservez l'eau de cuisson;
Avec un économe, pelez et récupérez la peau du citron et de l'orange. Taillez-les en fine julienne. Mettez chaque julienne dans des casseroles séparées, recouvrez-les d'eau froide, portez à ébullition, laissez-les cuire 3 à 4 minutes puis rafraîchissez-les et égouttez-les.
Pressez l'orange et le citron, réunissez les deux jus dans une casserole et faites-les réduire de deux tiers.
Dans une autre casserole, faites réduire 1/4 de litre d'eau de cuisson des asperges jusqu'à l'obtention de 4 cuillères à soupe de jus. Ajoutez-y la réduction de jus d'orange et de citron.
Portez l'ensemble à ébullition et, en fouettant, incorporez le beurre en parcelles sans faire bouillir. Émulsionnez la sauce au mixeur à main et incorporez-y les juliennes de zestes de citron et d'orange. Assaisonnez.
Replongez les asperges 2 minutes dans leur eau de cuisson bouillante pour les réchauffer. Égouttez-les et servez-les avec le beurre aux agrumes.