Preheat oven to 400 degrees. Spray a 9x13-inch baking pan or casserole with nonstick cooking spray (hs note: I greased the pan w/ butter).
Using a serrated knife, cut the bread into 3/4-inch slices, then stack 4 or 5 slices of bread. Cut them into 3/4-inch cubes. Repeat with the remaining bread and put all of the cubes in a large bowl.
In medium bowl, whish together the milk, broth, eggs, salt, pepper, and dill until combined. Pour the mixture over the bread.
Snap off the tough ends of the asparagus and cut the spears into 1-inch pieces. Add them to the bread along with the mushrooms and shallots. Fold everything together well to combine the ingredients. Spoon them into the prepared pan and pat down the top to compact the ingredients. Sprinkle the cheese evenly ever the top.
Bake the pudding for 45 minutes, or until the top is browned and crisp and there is no liquid in the center. Let sit for 10 minutes before cutting into portions.