Our ASP.NET book is out. Read some chapters for free!

If you don't know, now you know

I'm told that there are still a few people who don't read CodingHorror.com and Haacked.com. These people call themselves the Amish.

Well, there may be a few more folks out there with live internet connections who for some reason or another missed Phil's and Jeff's announcements that the book we co-authored with Scott Allen and Wyatt Barnett has been unleashed on an unsuspecting world. So, to these people, I say:

Our book, The ASP.NET 2.0 Anthology, is out. I have felt the heft of all 596 pages, and have vanity shopped the Borders bookstore to see the book on the shelf (they actually had two copies, w00t!).

ASP.NET 2.0 Anthology

ASP.NET 2.0? I wanted black-belt ASP.NET 3.5 stuff!

Well, yeah, that's the title. That's what the code samples are in. But you know, there are parts of it that could just easily fit into an ASP.NET 1.1 or 1.0 Anthology. Feel better?

Oh, you're thinking about the impending release of ASP.NET 3.5? Hmm... Well, as I said, many of the solutions we present would work with little modification in ASP.NET 1.1, and will work in ASP.NET 3.5 for the same reason: this book's not one of those "here are the two-hundred-and-thirty-five different properties of the GridView control" kinds of books. This books is about our favorite solutions to the problems you'll face in your day to day work, struggling to build great ASP.NET applications quickly.

There are a few .NET 3.5 things which you won't find in this book - notably Linq and the ListView control. And, no, there's no Silverlight in here. So if you're looking for a rundown on using ListView ItemTemplates, this isn't the book for you. That also goes if you're looking for an overview of setting up an ASP.NET 1.0 DropDownList control. While we do have a few "overview" chapters - declarative databinding, membership, and advanced GridView tricks - this book isn't really driven by the controls in the latest framework release.

Oh, another thing this books not about - black-belt hacks for the sake of feeling like a black-belt coder. We've got some slick code in the book, but one thing we've all realized is that the best solution is often the simplest solution that works. This isn't about black-belt code, it's about using black-belt knowledge of ASP.NET to avoid writing unnecessary code. So while there are plenty of code samples I'm proud of, the parts of this book I'm happiest with are the concepts.

So, what is the book about, then?

Well, we talk about some of the more timeless concerns of building good ASP.NET web applications. Examples:

  • There's a chapter on search engine optimization for ASP.NET, focused on the good kind of SEO - making sure that you're making it easy for search engines to find your content
  • Scott Allen wrote an excellent chapter on JavaScript and AJAX. Of course, it covers ASP.NET AJAX and the AJAX Control Toolkit, but he also talks about how to write clean JavaScript libraries and shows the specific benefits of doing it right. He also reviews JavaScript debugging tools and popular JavaScript toolkits.
  • A whole chapter on making ASP.NET sites that work will with web standards (CSS Friendly Control Adapters, CSS Inheritance, CSS development tools, etc.)
  • Jeff and I wrote a chapter on performance and scaling that I'm pretty happy with. While it talks about some things you might expect, like viewstate management and caching, I also went pretty in-depth into finding out what's slowing your site down and some tips on troubleshooting slow database queries. More on this performance chapter later...
  • Since we're sharing tips on getting the most out of ASP.NET, it only made sense to talk about SubSonic. I wrote 20 pages which explain what SubSonic is, how it can help, and how to use it in your project. I firmly believe that working with SubSonic is one of the best ways to build websites today, and to prepare for data access technologies like Linq in the future (after using the SubSonic query engine and data objects for a while, Linq and Linq To SQL were really easy for me to pick up). This is the first book I know about with any coverage of SubSonic, let alone 20 pages.

Blah, blah. Enough marketing. What about that free stuff you were talking about?

Oh, right. Well, there are three opportunities for you to get a peak at this book for free:

  1. You can read the entire performance chapter Jeff and I wrote online at the SitePoint website. We start with an overview of our philosophy on performance optimization, review tracing (partly to point out why it's important to tune based on real data), look at viewstate and compression optimizations, look at caching, and then go into really gory detail on troubleshooting a slow database.
    Note: while the chapter looks pretty good online, the flow of a website article vs. a book is different in interesting ways. The start of the chapter includes a long code sample with a bunch of trace statements. In the book, you can skim through it without interrupting the flow of the chapter. When I read it online, the long code sample seems to break the chapter flow up a lot more. Fortunately, you can scroll past the code and pretend it never happened.
  2. You can download a PDF with three of the chapters - also for free - from SitePoint. In addition to the performance chapter I just talked about, this includes Chapter 4 (Pushing the Boundaries of the GridView) and Chapter 9 (ASP.NET and Web Standards). That's 156 pages of the book for free. As an added bonus, you can check out how pretty it looks in the full color PDF version. SitePoint sells the book as a black and white book, a color PDF, and as a bundle which includes both. I got spoiled by the color PDF's while proofing, and I really love how they look. These chapters are pretty representative of the rest of the book, so if you're not sure if this is worth your hard earned money I'd really recommend checking out the free PDF download first.
  3. A free copy of the book. Yep, I've got my promo copies, just like Jeff and Phil. Unlike their populist "first come first serve" comment approach, I'm going incredibly pragmatic with my one remaining promo copy. I'm giving one free copy to the person who sells me on why they're the most worthy recipient. Use my blog's contact link and sell, sell, sell me on why I'd be a fool not to give you my last extra copy of this book. Can you write a review somewhere popular, get it in a magazine, use it to construct full size parade float or blimp? Remember, books are for closers. Will I ship internationally? Dunno, sell me on it!


  • I have bought your book but I have not read it yet. I'm currently reading "ASP.NET 2.0 MVP Hacks and Tips". I'm usually dissatisfied with technology books because they make you wade through a lot of material to pick up one or two tidbits of useful information.

    I've created my own help collection of notes on ASP.NET with 75 topics. Most of my notes are reference code for accomplishing practical tasks like; creating ZIP files, using Excel as a data source, testing for file locks, setting NTFS permissions, etc. Why can't programming books focus on basic real-world tasks? Maybe I should try one of the "cookbooks" because I just want code recipes for typical coding chores.

  • If your book is aimed at ASP.NET 2, the preferred way to alter the behaviour of the ViewState is to override the PageStatePersister property of the page.

    The simplest option is to create a PageAdapter which overrides the GetStatePersister method, and apply it via a browser definition file. That way, you don't need to alter the code of your site, and you can change the implementation by changing one line in the browser file. You can even have different behaviour for different browsers.

    Also, ASP.NET 2 already has a built-in method to store the state on the server - the SessionPageStatePersister class.

Comments have been disabled for this content.