In a medium saucepan, cook asparagus in boiling water for 1 minute. Drain; rinse under cold, running water, and drain well. In a shallow dish, combine asparagus, tomatoes, and shallots.
In a small bowl, whisk together vinegar, honey, salt, and pepper. Gradually whisk in oil; pour over asparagus mixture, and toss to coat. Cover and chill at least 1 hour or up to 2 hours.
Note: If using thick asparagus spears, cut them in half lengthwise before cooking.
Reprinted with permission from Hoffman Media and Sandra Lee Semi-Homemade magazine