This book was written to introduce you to the features and capabilities that ASP.NET 3.5 offers, as well as to give you an explanation of the foundation that ASP.NET provides. We assume you have a general understanding of Web technologies, such as previous versions of ASP.NET, Active Server Pages 2.0/3.0, or JavaServer Pages. If you understand the basics of Web programming, you should not have much trouble following along with this book's content.If you are brand new to ASP.NET, be sure to check out Beginning ASP.NET 3.5: In C# and VB by Imar Spaanjaars (Wiley Publishing, Inc., 2008) to help you understand the basics.In addition to working with Web technologies, we also assume that you understand basic programming constructs, such as variables, ForEach loops, and object-oriented programming.You may also be wondering whether this book is for the Visual Basic developer or the C# developer. We are happy to say that it is for both! When the code differs substantially, this book provides examples in both VB and C#.This book spends its time reviewing the 3.5 release of ASP.NET. Each major new feature included in ASP.NET 3.5 is covered in detail. The following list tells you something about the content of each chapter.Chapter 1, "Application and Page Frameworks." This chapter shows you how to build ASP.NET applications using IIS or the built-in Web server that comes with Visual Studio 2008. This chapter also shows you the folders and files that are part of ASP.NET. It discusses ways to compile code and shows you how to perform cross-page posting. This chapter ends by showing you easy ways to deal with your classes from within Visual Studio 2008.Chapters 2, 3, and 4.These three chapters are grouped here because they all deal with server controls. This batch of chapters starts by examining the idea of the server control and its pivotal role in ASP.NET development. In addition to looking at the server control framework, these chapters delve into the plethora of server controls that are at your disposal for ASP.NET development projects.Chapter 5, "Working with Master Pages."Master pages are a great capability found in ASP.NET. They provide a means of creating templated pages that enable you to work with the entire application, as opposed to single pages.Chapter 6, "Themes and Skins. This chapter looks at how to deal with the styles that your applications require and shows you how to create a centrally managed look-and-feel for all the pages of your application by using themes and the skin files that are part of a theme.Chapter 7, "Data Binding in ASP.NET 3.5. One of the more important tasks of ASP.NET is presenting data, and this chapter shows you how to do that with ASP.NET controls.Chapter 8, "Data Management with ADO.NET. This chapter presents the ADO.NET data model provided by ASP.NET, which allows you to handle the retrieval, updating, and deleting of data quickly and logically.Chapter 9, "Querying with LINQ." LINQ is a set of extensions to the .NET Framework that encompass language-integrated query, set, and transform operations. This chapter introduces you to LINQ and how to use this new feature in web applications today.Chapter 10, "Working with XML and LINQ to XML." This chapter looks at the XML technologies built into ASP.NET and the underlying .NET Framework to help you easily extract, create, manipulate, and store XML..Chapter 11, "IIS7." Probably the most substantial release of IIS in its history, IIS 7.0 will change the way you host and work with your ASP.NET applications.Chapter 12, "Introduction to the Provider Model." A number of systems are built into ASP.NET that make the lives of developers so much easier and more productive than ever before. These systems are built upon an architecture called a provider model, which is rather extensible. This chapter gives an overview of this provider model and how it is used throughout ASP.NET 3.5.Chapter 13, "Extending the Provider Model." This chapter looks at some of the ways to extend the provider model found in ASP.NET 3.5. This chapter also reviews a couple of sample extensions to the provider model.Chapter 14, "Site Navigation." Many developers do not simply develop single pagesthey build applications. One of the application capabilities provided by ASP.NET 3.5 is the site navigation system covered in this chapter.Chapter 15, "Personalization.". The ASP.NET team developed a way to store end user informationthe ASP.NET personalization system.Chapter 16, "Membership and Role Management." This chapter covers the membership and role management system developed to simplify adding authentication and authorization to your ASP.NET applications. This chapter focuses on using the web.config file for controlling how these systems are applied, as well as on the server controls that work with the underlying systems.Chapter 17, "Portal Frameworks and Web Parts." This chapter explains Web Partsa way of encapsulating pages into smaller and more manageable objects.Chapter 18, "HTML and CSS Design with ASP.NET." A lot of focus on building a CSS-based Web application was placed on Visual Studio 2008. This chapter takes a close look at how you can effectively work with HTML and CSS design for your ASP.NET applications.Chapter 19, "ASP.NET AJAX."AJAX signifies the capability to build applications that make use of the XMLHttpRequest object. New to Visual Studio 2008 is the ability to build AJAX-enabled ASP.NET applications from the default install of the IDE.Chapter 20, "ASP.NET AJAX Control Toolkit." This chapter takes a good look at the ASP.NET AJAX Control Toolkit, a series of new controls that are now available to make AJAX web development rather simple.Chapter 21, "Security." This security chapter discusses security beyond the membership and role management features provided by ASP.NET 3.5. This chapter provides an in-depth look at the authentication and authorization mechanics inherent in the ASP.NET technology, as well as HTTP access types and impersonations.Chapter 22, "State Management." Because ASP.NET is a request-responsebased technology, state management and the performance of requests and responses take on significant importance. This chapter introduces these two separate but important areas of ASP.NET development.Chapter 23 , "Caching." Because of the request-response nature of ASP.NET, caching on the server becomes important to the performance of your ASP.NET applications. This chapter looks at some of the advanced caching capabilities provided by ASP.NET, including the SQL cache invalidation feature which is part of ASP.NET 3.5.Chapter 24, "Debugging and Error Handling." This chapter tells you how to properly structure error handling within your applications. It also shows you how to use various debugging techniques to find errors that your applications might contain.Chapter 25, "File I/O and Streams." More often than not, you want your ASP.NET applications to work with items that are outside the base application. This chapter takes a close look at working with various file types and streams that might come into your ASP.NET applications.Chapter 26, "User and Server Controls." This chapter describes building your own server controls and how to use them within your applications.Chapter 27, "Modules and Handlers." This chapter looks at two methods of manipulating the way ASP.NET processes HTTP requests: HttpModule and HttpHandler. Each method provides a unique level of access to the underlying processing of ASP.NET and can be powerful tools for creating web applications.Chapter 28, "Using Business Objects." You are going to have components created with previous technologies that you do not want to rebuild but that you do want to integrate into new ASP.NET applications. Beyond showing you how to integrate your COM components into your applications, this chapter shows you how to build newer style .NET components instead of turning to the previous COM component architecture.Chapter 29, "Building and Consuming Services." This chapter reveals the ease not only of building XML Web services, but consuming them in an ASP.NET application. This chapter then ventures further by describing how to build XML Web services that utilize SOAP headers and how to consume this particular type of service.Chapter 30, "Localization." ASP.NET provides an outstanding way to address the internationalization of Web applications. This chapter looks at some of the important items to consider when building your Web applications for the world.Chapter 31, "Configuration." This chapter teaches you to modify the capabilities and behaviors of ASP.NET using the various configuration files at your disposal.Chapter 32, "Instrumentation." The ASP.NET framework includes performance counters, the capability to work with the Windows Event Tracing system, possibilities for application tracing , and the most exciting part of this discussiona health monitoring system that allows you to log a number of different events over an application's lifetime.Chapter 33, "Administration and Management." This chapter provides an overview of the new GUI tools that come with APS.NET that enable you to manage your Web applications easily and effectively.Chapter 34, "Packaging and Deploying ASP.NET Applications." This chapter takes the application building process one-step further and shows you how to package your ASP.NET applications for easy deployment.Appendix A, "Migrating Older ASP.NET Projects." This appendix focuses on migrating ASP.NET 1.x, or 2.0 applications to the 3.5 framework.Appendix B, "ASP.NET Ultimate Tools." Based on Scott Hanselman's annual Tools pick blog posting, many of the tools here will help you to expedite your development process and in many cases, make you a better developer.Appendix C, "Silverlight." This is a means to build fluid applications using XAML. This new technology enables developers with really rich vector-based applications.