HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This PDF will be accessible from your Account page after purchase and requires PDF reading software, such as Acrobat® Reader®.
The eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.
"No one knows ASP.NET like Fritz Onion. And no one knows .NET security like Keith Brown. Combine the two and what do you get? The most comprehensive and enlightening book on ASP.NET 2.0 industrywide. I'm sure you'll find the book you're holding was worth every penny."
--Aaron Skonnard, member of technical staff and cofounder, Pluralsight
"Essential ASP.NET 2.0 gets under the hood and dismantles the engine before your eyes. Fritz and Keith understand that we as developers need to understand how it works and this book does exactly that. Their explanation of the ASP.NET 2.0 page event sequence is worth the price of the book alone."
--Shawn Wildermuth, Microsoft MVP (C#), "The ADO Guy"
"Essential ASP.NET 2.0 is an incredibly useful must-read for any developer.Many books drag you through theory and mindless detail, but this one actually sets up the problems you may encounter with ASP.NET 2.0 and rolls out the alternatives."
--Patrick Hynds, Microsoft Regional Director and President, CriticalSites
"This book is essential for any ASP.NET developer moving from version 1.x to 2.0. Onion and Brown not only cover the new features, but provide a wealth of insight and detail about how to use them effectively."
--Ron Petrusha, author of Visual Basic 2005: The Complete Reference
"Drawing on their deep technical knowledge and real-world experience, Fritz and Keith take the reader into some of the less explored and much improved areas of ASP.NET such as diagnostics and state management and performance. Readers will turn to this book over and over again."
--John Timney, Microsoft MVP, Senior Web Services Consultant,British Telecom
"Fritz and Keith, both established developers and writers in our industry, have succeeded again--enlightening us on the latest advancements found in ASP.NET 2.0. If you're new to ASP.NET or a seasoned veteran, you'll benefit tremendously from their overview, analysis, and sample code."
--Joe "MSJoe" Flanigen
"This book seeks not only to explain how to effectively build Web sites with ASP.NET, it also gives the reader an idea of how the process works. This insight is essential to creating applications that work with the infrastructure rather than fighting it."
--Justin Burtch, Vice President, Newbrook Solutions
Essential ASP.NET 2.0 is the Microsoft developer's definitive reference for ASP.NET 2.0 programming. It covers all you need to know to build robust, well-designed Web applications with ASP.NET 2.0, Visual Studio 2005, and .NET 2.0. ASP.NET MVP Fritz Onion and Developer Security MVP Keith Brown draw on their unparalleled experience working with ASP.NET 2.0 and teaching it to professional developers. From data binding to security, UIs to performance, they demystify ASP.NET 2.0's most difficult areas, and introduce little-known techniques for leveraging it to the fullest.
The perfect companion to his previous classic, Essential ASP.NET with Examples in C#, Essential ASP.NET 2.0 offers hundreds of new C# examples that illuminate today's best Web development practices. (Both C# and VB 2005 versions of all code examples can be downloaded from the companion Web site.)
Topics explored in-depth include:
Simply put, if you want to design and build better ASP.NET 2.0 Web applications, Essential ASP.NET 2.0 delivers everything you need: insider's knowledge, proven best practices, and outstanding code samples.
Fundamentals 2
Dynamic Content 2
Server-Side Controls 5
Data Binding 8
Codebehind 9
Codebehind Basics 9
Codebehind 2.0 11
Page Lifecycle 15
Common Events 15
New Events 17
Implicit Event Subscription 18
Compilation 20
Compilation Directories 20
Site Compilation 24
Assembly Generation 26
Customizing Assembly Generation 28
Web Application Projects 28
Summary 30
Page Templates 33
Master Pages 35
Implementation Details 37
Working with Master Pages 41
Details of Usage 45
Themes and Skins 48
Themes 49
Working with Themes 51
Fundamentals of Navigation Controls 54
Control Adapters 58
Building Control Adapters 58
Browser Recognition 64
CSS Friendly Adapters 66
Summary 66
Declarative Data Binding 68
Data Binding 68
Data Source Controls 70
Storing Connection Strings 82
Data Source Parameters 83
New Data-Bound Controls 87
Data-Binding Evaluation Syntax 91
Declarative Data-Binding Techniques 91
Hierarchical Data Binding 96
Binding to Objects 102
Typed DataSets 112
Summary 112
Cross-Page Posting 114
Fundamentals 114
Implementation 120
Caveats 121
Multi-Source Cross-Page Posting 124
Wizard and MultiView Controls 127
Same Page State Management 127
Wizard Control 128
MultiView and View Controls 131
Profile 133
Fundamentals 133
Migrating Anonymous Profile Data 137
Managing Profile Data 138
Storing Profile Data 138
Serialization 139
User-Defined Types as Profile Properties 142
Optimizing Profile 143
Going the Custom Route 147
Summary 149
How Much Security Do I Need? 151
Getting Started with Membership 153
Provider Architecture 158
MembershipProvider 160
The Login Control 162
User Account Lockout: Blessing or Curse? 164
Password Complexity Policy 166
Choosing a Password Format 167
Password Questions and Answers 169
Configuring a Membership Provider 170
Custom Providers 172
Using the Membership Class to Access Your Provider 173
SQL Database Permissions 175
The LoginView and Other Controls 177
The Role Manager 180
Configuring the Role Manager and Provider 181
Other Role Providers 183
A Word about Machine Keys 184
Cookieless Forms Authentication 185
SiteMapProvider Security Trimming 187
Configuration File Encryption 188
Summary 191
Web Part Fundamentals 194
Portal Components 194
Building a Minimal Portal Page 195
Display Mode 201
Catalog Parts and Zones 204
Properties 206
Editor Parts and Zones 210
Verbs 211
Connections 214
Personalization Scope 218
Exporting and Importing Web Parts 220
Formatting Web Parts and Zones 225
User Controls as Web Parts 226
Personalization Data and Providers 231
Changing the Personalization Data Store 233
Creating Your Own Personalization Provider 235
Summary 239
Health Monitoring and Web Events 241
Web Event Hierarchy 242
Which Events Should I Monitor? 245
Built-in Providers 245
The E-Mail Providers 248
The SQL Provider 251
Buffering 252
Registering for Events 254
Throttling and Profiles 256
Mapping the Health Monitoring Configuration Section 258
Custom Web Events 258
Custom Providers 261
Tracing in ASP.NET 2.0 264
Programmatic Access to Trace Output 264
Integration with System.Diagnostics Tracing 266
Funneling Web Events to System.Diagnostics Trace Listeners 268
Event Tracing for Windows: Debugging Without a Debugger 269
Summary 277
Caching 279
Data Source Caching 280
Cache Dependencies 284
Programmatic Fragment Caching 296
Post-Cache Substitution 298
Cache Profiles 300
General Performance Enhancements 302
Client Callbacks 302
Client Callback Framework 302
On-Demand TreeView Node Population 306
Atlas 307
Summary 308
The Need for Asynchrony 310
Exploiting Parallelism 310
Relaxing Thread-Pool Contention 316
Techniques for Issuing Asynchronous Tasks 317
Asynchronous Web Access 317
AsyncOperationManager and Asynchronous Web Service Calls 320
Asynchronous Tasks 321
Dependent Asynchronous Tasks 324
Asynchronous Pages 326
Async="true" 326
Relaxing Thread-Pool Pressure 328
AddOnPreRenderCompleteAsync 329
Thread-Relative Resources 330
Summary 330