Based on a short course that Thuan has delivered to numerous companies since August 2000, this book is designed so that each chapter builds on knowledge from the previous one for those unfamiliar with each technology. To give you a heads-up, here are brief summaries for the chapters and appendixes covered in this book.
Chapter 1 takes a brief look at Microsoft .NET and the Microsoft .NET Platform. It then describes the .NET Framework design goals and introduces you to the components of the .NET Framework.
Chapter 2 lifts the hood and peers into the CLR. This chapter surveys the rich runtime, as well as other features, of the CLR.
Chapter 3 introduces you to .NET programming. You’ll examine a simple program that uses object-oriented and component-based concepts in four different languages: Managed C++, VB.NET, C#, and IL. You’ll also experience the benefits of language integration.
Chapter 4 demonstrates the simplicity of component and enterprise development in .NET. Besides seeing component-deployment features, you’ll also examine complete programs that take advantage of transaction, object pooling, role-base security, and message queuing—all in one chapter.
Chapter 5 describes the architecture of ADO.NET and its benefits. Besides being disconnected to promote scalability, the ADO.NET dataset is also tightly integrated with XML to enhance interoperability. This chapter introduces you to the .NET data-access objects, as well as the XML namespace.
Chapter 6 describes the next generation of software components, ones that can be accessed through the Internet. In this chapter, we discuss the protocols that support Web Services, as well as how to publish and discover them. You will see how XML, used in conjunction with HTTP, breaks the proprietary nature of current component-oriented software development and enables greater interoperability.
Chapter 7 introduces you to ASP.NET, which now supports object-oriented and event-driven programming, as opposed to conventional ASP development. In this chapter, Web Forms and server controls take the center stage. In addition, we examine how to build custom server controls, perform data binding to various .NET controls, and survey state management features in ASP.NET.
Chapter 8 takes conventional form-based programming a step into the future with the classes in the System.Windows.Forms namespace. Similar to Win32-based applications, Windows Forms are best used for to build so-called rich or “fat” clients; however, with the new zero-effort installation procedure of .NET and the advent of Web Services, Windows Forms are appropriate for a host of applications.
Appendix A contains a list of links to web sites with information regarding languages that targets the CLR, including some burgeoning open source projects.
Appendix B contains a list of commonly used acronyms that are used in .NET literature and presentations.
Appendix C contains several lists of commonly used datatypes in .NET. This appendix also illustrates the use of several of its collection classes.
Appendix D surveys the important tools that the .NET SDK provides to ease the tasks of .NET development.
Now that you know what this book is about, we should explain what this book is not about. This book does not focus on the marketing aspects of .NET or on other components of the .NET Platforms, including .NET Enterprise Servers, .NET Building Block Services, or .NET Operating Systems. Likewise, we do not cover the recently announced HailStorm service or the work Microsoft is doing to make the .NET Framework available on a host of devices.