Essential ASP.NET With Examples in C#
- By Fritz Onion
- Published Feb 11, 2003 by Addison-Wesley Professional. Part of the Microsoft Windows Development Series series.
- Copyright 2003
- Dimensions: 7-3/8x9-1/4
- Pages: 432
- Edition: 1st
- ISBN-10: 0-201-76040-1
- ISBN-13: 978-0-201-76040-8
Register your product to gain access to bonus material or receive a coupon.
Product Author Bios
Fritz Onion is a member of the technical staff at DevelopMentor where he teaches courses in .NET and oversees the ASP.NET curriculum. He is a former columnist for C++ Report, and currently writes articles for various publications including MSDN Magazine. He speaks regularly at industry conferences and was the cochair of the Web development track at Win-Dev's Fall Developers Summit 2002. Fritz received his B.A. from Harvard University and his M.S. from the University of California, Irvine.
Praise for Essential ASP.NET with Examples in C#
“Essential ASP.NET with Examples in C# is so good that it’s the only ASP.NET book on my working bookshelf.”—LARRY O’BRIEN, .NET Watch columnist, SD Times
“Essential ASP.NET is positioned to become the seminal book on the most important advancement to Web development in years.”—JUSTIN BURTCH, software engineer
“Fritz’s explanations are clear and concise without being patronizing; his examples are succinct without being trivial. I can now say that after reading Fritz’s book, and trying a few things out, I feel that I ‘know’ ASP.NET. Reading his book has been a very helpful experience.”—RICHARD GRIMES, .NET author and consultant
“Like many of the teachers who have worked with DevelopMentor, Fritz has a great ability to make complex concepts very easy to understand. The explanations go deep enough that I’ve had several ‘a ha’ moments while finally understanding how some features really worked.”—SCOTT SEELY, Microsoft Corporation
“This is an excellent book! It has a straightforward style and is comprehensive.”—DARYL RICHTER, software architect
“This book greatly improves the understanding of ASP.NET. The text is concise and examples are well written. The signal-to-noise ratio of this book is very high. I am sure it will be a great value to its readers.”—AMIT KALANI, software programmer/analyst
“Fritz Onion’s Essential ASP.NET is one of the best ASP.NET books I have read.”—JAMES EDELEN, Microsoft MVP
“It is deep enough that everyone is assured of learning something, no matter how experienced you may already be.”—PAUL WILSON, Software Architect, WilsonDotNet.com
“The book is a winner, and a must-have for experienced developers who want to augment their knowledge of ASP.NET by being aware of what goes on under the hood.”—JASON SALAS, MBA, MCP, and Web Development Manager for Pacific Telestations, Inc.
“If you are looking for an ASP.NET book that can help take you to the next level, Essential ASP.NET with Examples in C# is your first class ticket.”—ROBBE MORRIS, Senior Software Engineer, EggHeadCafe.com
"This well-conceived and well-written book has extensive knowledge and priceless experience overflowing from its pages. It captures the true essence of ASP.NET and walks the reader to a high level of technical and architectural skill."
--J. Fred Maples, Director of Software Engineering, NASDAQ.com
Essential ASP.NET with Examples in C# is the C# programmer's definitive reference for ASP.NET through version 1.1. It provides experienced programmers with the information needed to fully understand the technology, and is a clear guide to using ASP.NET to build robust and well architected Web applications.
This book begins with a discussion of the rationale behind the design of ASP.NET and an introduction to how it builds on top of the .NET framework. Subsequent chapters explore the host of new features in ASP.NET, including the server-side compilation model, code-behind classes, server-side controls, form validation, the data binding model, and custom control development. Throughout the book, working examples illustrate best practices for building Web-based applications in C#.
Among the topics explored in depth are:
Essential ASP.NET with Examples in C# provides readers with the know-how needed to build more powerful, better architected Web applications with ASP.NET.
Click below for Source Code related to this title:
36 of 36 people found the following review helpful
Great resource for those with prior ASP.NET/C# experience,
This review is from: Essential ASP.NET With Examples in C# (Paperback)I recently read the excellent "ASP.NET Essentials with Examples in C#" by Fritz Onion, published by Addison-Wesley as part of the company's excellent .NET Development Series. Having been working with ASP.NET for more than two years, I tend to be a bit more skeptical of new ASP.NET titles when they take an omnibus approach, attempting to preview an entire technology in one book, rather than a specific part of a platform or the application of it.
This is definitely not the case with this new book, as it's a very refreshing overview of ASP.NET for those who have been working with it.
It's been my experience that with most titles taking an omnibus approach, a book will have one or two chapters that really shine, explaining some aspect of ASP.NET development better than most books. This book has several such gems. It features one of the better descriptions of proper surgery of machine.config/web.config that you'll find on the market today. Specifically, each element with an... Read more
26 of 27 people found the following review helpful
Review: Essential ASP.NET With Examples in C#,
This review is from: Essential ASP.NET With Examples in C# (Paperback)Audience:
This book, Essential ASP.NET With Examples in C#, is intended for .NET developers that want to learn ASP.NET. It expects the reader to be familiar with the basics of C#, the .NET framework, and object-oriented practices. It does not assume any exposure to web development, nor does it cover html or other non-ASP.NET web concepts. This book is about learning the essential concepts; it is not a low-level introductory book or how-to book. This also makes it a good book for those already familiar with ASP.NET that want to learn the concepts better. If you have this background and want to learn the essentials of ASP.NET, then this book is highly recommended. There is also a version of this book with the Examples in VB.NET, so C# is actually an optional requirement.
Fritz Onion has been teaching ASP.NET for DevelopMentor from the beta days of ASP.NET and his experience shows. This book is definitely one of the easiest technical books to just sit down and read without... Read more
21 of 21 people found the following review helpful
Highly recommended for experienced developers,
This review is from: Essential ASP.NET With Examples in C# (Paperback)I've ordered this book primarily based on rave reviews of fellow webloggers as well as the fact that every single book from AW .NET series was worth the money. This book did not disappoint.
Fritz has found the right to mix of giving the reader the theory and practical advice. The author assumes that the reader is familiar with .NET and is experienced in application design (I soooo wish more authors would make the same assumption!).
This book gives an experienced developer enough background to be able to make some of the most important design decisions such as when and how to separate presentation logic in custom controls; how to manage state; what data caching option to use etc.
The flow of Essential ASP.NET is absolutely impeccable. Every detail and feature of the technology is introduced at exactly the right place. I liked the flow of the book so much I've used it to put together a presentation on ASP.NET for our team.
A couple of points I wish would be better:
- The... Read more
› See all 45 customer reviews...
Praise For Essential ASP.NET With Examples in C#
Read the recent Praise
for this book.
Online Sample Chapter
Table of Contents
2. Web Forms.
4. HTTP Pipeline.
5. Diagnostics and Error Handling.
7. Data Binding.
8. Custom Controls.
10. State Management.
It was late in the night in Torrance, California in August of 2000. I had spent 12 hours of the day teaching DevelopMentor's Guerrilla COM course with Mike Woodring and Jason Whittington. Don Box had come over after class and as usual, we were staying up late into the night after the students had long since gone to bed, discussing technology and hacking. Microsoft had just released their preview version of .NET at the PDC in July, and we had been spending much of the year up to that point digging into 'the next COM' and were excited that it had finally been released so we could talk about it. It was that evening, that Don, in his typical succinct way, showed me my first glimpse of ASP.NET (then called ASP+). He first typed into emacs a .aspx file that looked like see code in book. He then wrote another file that looked like see code in book. He then placed the two files in c:\inetpub\wwwroot on his machine and showed me the rendering of the .aspx page through the browser--exclaiming "get it?" Perhaps it was the late hour, or the fact that I had been teaching all day, but I have to admit that while I "got" the technical details of what Don was showing me, I was somewhat underwhelmed by being able to change the innerText of an h1 element from a class.
The following week, after a couple of good nights of sleep, I came back and revisited the .aspx example, and began to explore ASP.NET in more detail. After a day of reading and experimenting, I finally "got it" and I was hooked. This technology was poised to fundamentally change the way people built web applications on Windows, and it took full advantage of the new .NET runtime. I spent the next six months researching, building ASP.NET applications, and writing DevelopMentor's Essential ASP.NET course, and I spent the subsequent year and a half teaching, speaking, and writing about ASP.NET. This book is the culmination of those activities, and I hope it helps you in your path to understanding ASP.NET.
C# Versus VB.NET
Prior to .NET, Visual Basic was not just another language--it was a platform unto itself. Building applications in Visual Basic 6.0 for example, was completely different from using C++ and MFC. With .NET, this distinction is gone, and Visual Basic is indeed just another .NET language that uses the same libraries, the same development tools, and the same runtime as all others. As a consequence, it is now possible to talk about technologies like ASP.NET from a language-neutral standpoint. The code samples, however, must be shown in a particular language, so this book is actually published in two versions--one with examples in C# and one with examples in VB.NET. All content outside the actual examples is nearly identical between the two books, and if you're interested, you can download all of the samples in either language from the book's web site http://www.develop.com/books/essentialasp.net/.
Sample Code, Website, Feedback
All of the code samples in this book are drawn from working samples available for display and download at http://www.develop.com/books/essentialasp.net/. This site also contains any errata found after publication, as well as a supplemental set of more extended examples of the concepts presented in this book for your reference. The author welcomes your comments, errata, and feedback via the forms available on the website.
This book focuses exclusively on ASP.NET, and does not spend time reviewing .NET programming, object-oriented programming techniques, database access, or general web application development techniques. You will be able to get the most out of this book if you have spent some time gaining experience in each of these areas.
Organization of This Book
This book approaches ASP.NET from the ground up, beginning with a look at the core elements of the architecture in Chapter 1, and continuing with the server-side control model in Chapter 2. It is recommended that the reader be familiar with the contents of Chapters 1 and 2 before reading any of the subsequent chapters. However, all chapters after 2 can be read independently and in any desired sequence.
Chapter 1, Architecture, covers the fundamentals of the ASP.NET architecture, beginning with a look at the parsing of .aspx files and their subsequent compilation into assemblies. This chapter explains the details of the Page class, demonstrates the new code-behind model, and discusses the shadow copy mechanism used to prevent file locking. The chapter concludes with a look at the new classes in ASP.NET that replace the intrinsic objects of traditional ASP.
Chapter 2, Web Forms, looks at the control-based programming model supported in ASP.NET called web forms. This chapter looks at the details of state retention across post-backs using both POST body data as well as ViewState, and how to effectively use server-side controls to create dynamic web pages. The chapter concludes with a look at the various server-side controls available in ASP.NET.
Chapter 3, Configuration, describes the configuration model used by ASP.NET, starting with the XML format used by all configuration files and the hierarchical application of configuration settings. This chapter inspects several configuration elements in detail, including the processModel and appSettings elements. The chapter concludes by demonstrating two techniques for adding custom configuration sections to your configuration files.
Chapter 4, HTTP Pipeline, explores the details of the classes involved with servicing HTTP requests in ASP.NET. This chapter first walks through all of the elements in the HTTP pipeline used to process a request, and then discusses the three points of extensibility in the pipeline: 1) custom application classes, 2) custom handlers, and 3) custom modules. The chapter concludes with a discussion of threading and object pooling in the pipeline.
Chapter 5, Diagnostics and Error Handling, covers the new diagnostic features of ASP.NET including page and application tracing as well as the new performance monitor counters. This chapter also discusses techniques for debugging ASP.NET applications and exception handling. The chapter concludes with a look at how to define custom error pages for your applications.
Chapter 6, Validation, describes the new validation architecture built into ASP.NET. This chapter begins by looking at how validation is performed in web applications in general, and proceeds to show how ASP.NET's validation architecture provides a general solution to the problem of validating user input. The chapter includes a detailed look at how both client-side and server-side validation work, as well as a look at all of the available validation controls.
Chapter 7, Data Binding, explores the process of binding server-side data to controls in an ASP.NET page. This chapter starts by explaining how data binding works with several different data sources including collection classes, DataReaders, and DataSets, and then looks at how to bind data to several controls, including the DataGrid class. The chapter concludes with a look at templates and how to use them effectively with the Repeater, DataList, and DataGrid classes.
Chapter 8, Custom Controls, covers the fundamentals of building your own custom controls for use in ASP.NET applications. This chapter explains how custom controls are built, how to use the HtmlTextWriter class to achieve some browser independence, how to further support browser-independent rendering, how to define properties and sub-properties, how to extract the inner content of a control's tag, how to generate client-side script, and how to manage control state. The chapter also covers the details of building composite controls, user controls, controls that support validation, and controls that support data binding. The chapter concludes with a look at how to integrate your controls with the Visual Studio .NET designer.
Chapter 9, Caching, looks at both output caching and data caching in ASP.NET. This chapter discusses the mechanism of output caching and how to precisely control which versions of a page are placed in the cache, as well as how to cache portions of a page using page fragment caching with user controls. The chapter explains how to use the new application-wide data cache, and includes a discussion of considerations and guidelines to observe when caching data.
Chapter 10, State Management, discusses the various types of state in an ASP.NET web application and how and when to use each type. This chapter begins with a look at application state, and explains why it should typically be avoided in ASP.NET. It then looks at the improvements in session state including out of process storage and cookieless key management, as well as techniques for optimizing your use of session state. The chapter concludes with a look at using cookies and ViewState as alternatives, or in addition, to session state.
Chapter 11, Security, describes the security features of ASP.NET and how to control client authentication and authorization in your applications. This chapter starts by reviewing the concepts of security for web applications, and then shows how to build and manage applications that need to authenticate clients using the forms authentication architecture provided by ASP.NET. The chapter also covers the management of authentication cookies in web farms, safe password storage, building role-based authentication systems, and how to control the process identity used by ASP.NET.
I would first like to thank my wife Susan and children Zoe and Sam who supported me without hesitation during the writing of this book. Thanks also to my parents, Pat and Dan Onion for their support and direction.
Thanks to all of my colleagues at DevelopMentor for the many discussions and constant feedback both for the course and for this book. In particular, thanks to: Bob Beauchemin for his always timely and useful feedback; Keith Brown for showing me how to salt my hashes and otherwise reinforcing my security chapter; Simon Horrell for his detailed feedback; Dan Sullivan for leaving no stone unturned; Ted Pattison, for commiserating on writing, and for his always positive comments; Stu Halloway for making my writing more concise.
Thanks to my official reviewers Justin Burtch, Amit Kalani, Daryl Richter, Martin Heller, Matt Milner all of whom provided invaluable feedback. Thanks to the members of the ASP.NET team at Microsoft for building such an interesting product, and for fielding many questions. In particular, thanks to Rob Howard for his input on caching and to Erik Olson for explaining thread allocation and pooling in the pipeline. Thanks to Don Box for introducing me to ASP.NET, and for getting my writing career started at C++ Report back in 1995.
Thanks to my editor, Stephane Thomas, for all her hard work. Much gratitude also to the more than 1000 students that have taken the Essential ASP.NET course--your input has shaped the stories in this book more than anything else. Thanks in particular to the students at the Essential ASP.NET course offered in Washington D.C. in October of 2002 for helping choose the color of the book covers.
Downloadable Sample Chapter
Click below for Sample Chapter(s) related to this title:
Sample Chapter 10
Click below to download the Index file related to this title:
This book includes free shipping!
Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.