Butter a 2- to 2 1/2-quart shallow ceramic flameproof baking dish. Cook asparagus in a 5- to 6-quart pot of boiling salted water , uncovered, until crisp-tender, about 4 minutes. Drain in a colander, then transfer to baking dish and keep warm, tightly covered with foil. Meanwhile, heat oil and butter in a 12-inch heavy skillet over high heat until foam subsides, then cook shallots, stirring occasionally, until pale golden, about 3 minutes. Add bread and pine nuts and cook, stirring, until browned in spots, about 5 minutes. Transfer to a bowl and add pepper, 1/2 cup Parmigiano-Reggiano, and 1/4 teaspoon salt, tossing to combine. Preheat broiler. Toss warm asparagus with mascarpone, remaining 1/2 cup Parmigiano-Reggiano, and remaining 1/4 teaspoon salt until combined well. Sprinkle bread-crumb mixture evenly over asparagus. Broil 5 to 7 inches from heat until topping is golden brown, 1 to 2 minutes.