Я настоятельно рекомендую прочитать "C # in Depth" Джона Скита. Несмотря на то, что он сфокусирован не на .NET Framework, он дает отличный обзор изменений языка C # с течением времени и представляет все новые вещи в C # 3 (которые перекрывают .NET Framework 3.5).
ПРИМЕЧАНИЕ. Здесь нет ничего конкретного для ASP.NET, но, опять же, это дает вам основу.