- With a zester or microplane grater, scrape a few curls of grapefruit and orange zest from the skin of the fruit for garnish and reserve. Segment the grapefruit and the orange over a bowl to preserve juice. Squeeze the pith over the bowl to extract juice from any remaining pulp. Gently strain the segments, reserving segments and juice in separate bowls.
- Add ½ teaspoon of salt, vinegar, water, and Dijon mustard to the bowl with the grapefruit juice and whisk to combine. Pour in olive oil, whisking to emulsify.
- Pour the canola oil into a shallow roasting pan and add the asparagus. Season with remaining salt and some black pepper. Transfer to a gas or charcoal grill over a hot fire and cook uncovered (in batches if necessary), turning as the asparagus blackens, about 6 minutes total. (Note: if your grill grate might allow the asparagus to fall into the grill, use a perforated grill pan.) Cook, partly covered, 3−4 minutes until the asparagus is blackened on one side. When all the asparagus is nicely charred, transfer to a serving platter.
- When all the asparagus is on the platter, scatter the reserved grapefruit evenly over the asparagus. If the dressing has broken, whisk to re-emulsify, pour it over the asparagus, garnish the platter with the reserved zest, and serve.