643383.inddGreetings! We’re happy to announce that Dino Esposito’s newest book, Programming Microsoft ASP.NET 4 (ISBN: 9780735643383; 992 pages), has shipped to the printer.

Here’s the book’s Introduction, which describes the book’s contents and intended audience:

Introduction

In the fall of 2004, at a popular software conference I realized how all major component
vendors were advertising their ASP.NET products using a new word—Ajax. Only a few weeks
later, a brand new module in my popular ASP.NET master class made its debut—using Ajax
to improve the user experience. At its core, Ajax is a little thing and fairly old too—as I
presented the engine of it (XmlHttpRequest) to a C++ audience at TechEd 2000, only four
weeks before the public announcement of the .NET platform.

As emphatic as it may sound, that crazy little thing called Ajax changed the way we approach
Web development. Ajax triggered a chain reaction in the world of the Web. Ajax truly represents
paradigm shift for Web applications. And, as the history of science proves, a paradigm
shift always has a deep impact, especially in scenarios that were previously stable and consolidated.
We are now really close to the day we will be able to say “the Web” without feeling
the need to specify whether it contains Ajax or not. Just the Web—which has a rich client
component, a made-to-measure layer of HTTP endpoints to call, and interchangeable styles.

Like it or not, the more we take the Ajax route, the more we move away from ASP.NET
Web Forms. In the end, it’s just like getting older. Until recently, Web Forms was a fantastic
platform for Web development. The Web, however, is now going in a direction that Web
Forms can’t serve in the same stellar manner.

No, you didn’t pick up the wrong book, and you also did not pick up the wrong technology
for your project.

It’s not yet time to cease ASP.NET Web Forms development. However, it’s already time for
you to pay a lot more attention to aspects of Web development that Web Forms specifically
and deliberately shielded you from for a decade—CSS, JavaScript, and HTML markup.

In my ASP.NET master class, I have a lab in which I first show how to display a data-bound
grid of records with cells that trigger an Ajax call if clicked. I do that in exactly the way one
would do it—as an ASP.NET developer. Next, I challenge attendees to rewrite it without inline
script and style settings. And yes—a bit perversely—I also tell anyone who knows jQuery
not to use it. The result is usually a thoughtful and insightful experience, and the code I
come up with gets better every time. ASP.NET Web Forms is not dead, no matter what
ASP.NET MVC—the twin technology—can become. But it’s showing signs of age. As a
developer, you need to recognize that and revive it through robust injections of patterns,
JavaScript and jQuery code, and Ajax features.

In this book, I left out some of the classic topics you found in earlier versions, such as
ADO.NET and even LINQ-to-SQL. I also reduced the number of pages devoted to controls.
I brought in more coverage of ASP.NET underpinnings, ASP.NET configuration, jQuery, and
patterns and design principles. Frankly, not a lot has changed in ASP.NET since version 2.0.

Because of space constraints, I didn’t cover some rather advanced aspects of ASP.NET
customization, such as expression builders, custom providers, and page parsers. For coverage
of those items, my older book Programming Microsoft ASP.NET 2.0 Applications: Advanced
Topics
(Microsoft Press, 2006) is still a valid reference in spite of the name, which targets the
2.0 platform. The new part of this book on principles of software design is a compendium
of another pretty successful book of mine (actually coauthored with Andrea Saltarello)—
Microsoft .NET: Architecting Applications for the Enterprise (Microsoft Press, 2008).

Who Should Read This Book?

This is not a book for novice developers and doesn’t provide a step-by-step guide on how
to design and code Web pages. So the book is not appropriate if you have only a faint idea
about ASP.NET and expect the book to get you started with it quickly and effectively. Once
you have grabbed hold of ASP.NET basic tasks and features and need to consolidate them,
you enter the realm of this book.

You won’t find screen shots here illustrating Microsoft Visual Studio wizards, nor any
mention of options to select or unselect to get a certain behavior from your code. Of course,
this doesn’t mean that I hate Visual Studio or that I’m not recommending Visual Studio
for developing ASP.NET applications. Visual Studio is a great tool to use to write ASP.NET
applications but, judged from an ASP.NET perspective, it is only a tool. This book, instead, is
all about the ASP.NET core technology.

I do recommend this book to developers who have knowledge of the basic steps required to
build simple ASP.NET pages and easily manage the fundamentals of Web development. This
book is not a collection of recipes for cooking good (or just functional) ASP.NET code. This
book begins where recipes end. It explains to you the how-it-works, what-you-can-do, and
why-you-should-or-should-not aspects of ASP.NET. Beginners need not apply, even though
this book is a useful and persistent reference to keep on the desk.

System Requirements

You’ll need the following hardware and software to build and run the code samples for
this book:

  • Microsoft Windows 7, Microsoft Windows Vista, Microsoft Windows XP with Service
    Pack 2, Microsoft Windows Server 2003 with Service Pack 1, or Microsoft Windows
    2000 with Service Pack 4.
  • Any version of Microsoft Visual Studio 2010.
  • Internet Information Services (IIS) is not strictly required, but it is helpful for testing
    sample applications in a realistic runtime environment.
  • Microsoft SQL Server 2005 Express (included with Visual Studio 2008) or Microsoft SQL
    Server 2005, as well as any newer versions.
  • The Northwind database of Microsoft SQL Server 2000 is used in most examples in this
    book to demonstrate data-access techniques throughout the book.
  • 766-MHz Pentium or compatible processor (1.5-GHz Pentium recommended).
  • 256 MB RAM (512 MB or more recommended).
  • Video (800 x 600 or higher resolution) monitor with at least 256 colors (1024 x 768 High
    Color 16-bit recommended).
  • CD-ROM or DVD-ROM drive.
  • Microsoft Mouse or compatible pointing device.

And here are the book’s contents at a high level:

Contents at a Glance

Part I   The ASP.NET Runtime Environment
1   ASP.NET Web Forms Today . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2   ASP.NET and IIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3   ASP.NET Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4   HTTP Handlers, Modules, and Routing . . . . . . . . . . . . . . . . . . . . 119

Part II   ASP.NET Pages and Server Controls
5   Anatomy of an ASP.NET Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
6   ASP.NET Core Server Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
7   Working with the Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
8   Page Composition and Usability. . . . . . . . . . . . . . . . . . . . . . . . . . 319
9   ASP.NET Input Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
10   Data Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
11   The ListView Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
12   Custom Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513

Part III   Design of the Application
13   Principles of Software Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
14   Layers of an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
15   The Model-View-Presenter Pattern . . . . . . . . . . . . . . . . . . . . . . . 615

Part IV   Infrastructure of the Application
16   The HTTP Request Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
17   ASP.NET State Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
18   ASP.NET Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721
19   ASP.NET Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779

Part V   The Client Side
20   Ajax Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839
21   jQuery Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899

You can pre-order the book now. We’ll let you know when it’s available, and we’ll publish a longer excerpt from the book then.