Essential ASP.NET 2.0, 2/e

Fritz Onion, Keith Brown

  • 出版商: Addison Wesley
  • 出版日期: 2006-11-01
  • 售價: $2,130
  • 貴賓價: 9.5$2,024
  • 語言: 英文
  • 頁數: 384
  • 裝訂: Paperback
  • ISBN: 0321237706
  • ISBN-13: 9780321237705
  • 相關分類: .NETASP.NET
  • 已過版

買這商品的人也買了...

商品描述

Description

"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:

  • Application architecture
  • Code behind
  • Master pages
  • Themes and skins
  • Navigation controls
  • Data binding
  • State management
  • Security
  • Web Parts
  • Diagnostics
  • Performance optimization
  • Asynchronous tasks and pages

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.

 

Table of Contents

List of Figures xv

List of Tables xix

Foreword xxi

Preface xxiii

Acknowledgments xxix

About the Authors xxxi

Chapter 1 Architecture 1

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

Chapter 2 User Interface Elements 33

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

Chapter 3 Data Binding 67

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

Chapter 4 State Management 113

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

Chapter 5 Security 151

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

Chapter 6 Web Parts 193

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

Chapter 7 Diagnostics 241

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

Chapter 8 Performance 279

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

Chapter 9 Asynchrony 309

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

Index 333