You are previewing Understanding .NET, Second Edition.
O'Reilly logo
Understanding .NET, Second Edition

Book Description

Microsoft's .NET is revolutionizing Windows-based software development. Since its initial release in 2002, .NET has changed significantly, becoming the foundation for a new generation of Windows applications. The .NET Framework and Visual Studio, the two core aspects of this initiative, provide a multilanguage environment in which developers can create Web services, graphical user interfaces, and other kinds of applications. Taken as a whole, the .NET technologies have changed the way nearly every Windows application is built.

Now fully updated for version 2.0 of the .NET Framework and Visual Basic 2005, Understanding .NET, Second Edition, is a concise guide to the landscape of Windows development. Margin notes, detailed diagrams, and lucid writing make this book easy to read and navigate, while analysis sections explore controversial issues and address common concerns. David Chappell's independent perspective and straightforward descriptions clarify both how the .NET technologies work and how they can be used.

Coverage includes

  • An overview of .NET and its goals

  • The Common Language Runtime (CLR)

  • The .NET languages, including C#, Visual Basic, and C++

  • The .NET Framework class library

  • Building Web Applications with ASP.NET

  • Accessing Data with ADO.NET

  • .NET framework integration with SQL Server 2005

The key to using a new technology is to understand the fundamentals. This book provides the robust foundation developers and technical managers need to make the right decisions and maximize the potential of this revolutionary framework.



Table of Contents

  1. Copyright
    1. Dedication
  2. Praise for David Chappell’s Understanding .NET, Second Edition
  3. Independent Technology Guides
  4. Preface
    1. Who This Book Is For
    2. Fact and Opinion
    3. Acknowledgments
  5. 1. Introducing .NET
    1. The .NET Framework
      1. The Common Language Runtime
        1. What the CLR Defines
        2. Using the CLR
      2. The .NET Framework Class Library
        1. Surveying the Library
        2. Building Web Applications: ASP.NET
        3. Accessing Data: ADO.NET
        4. Building Distributed Applications
    2. Visual Studio 2005
      1. General Purpose Languages
        1. C#
        2. Visual Basic
        3. C++
        4. Other CLR-Based Languages
      2. Domain Specific Languages
      3. Working in Groups: Visual Studio Team System
    3. Conclusion
  6. 2. The Common Language Runtime
    1. Building Managed Code: The Common Type System
      1. Introducing the Common Type System
      2. A Closer Look at CTS Types
        1. Value Types
        2. Reference Types
      3. Converting Value Types to Reference Types: Boxing
      4. The Common Language Specification
    2. Compiling Managed Code
      1. Microsoft Intermediate Language (MSIL)
      2. Metadata
        1. What Metadata Contains
        2. Attributes
    3. Organizing Managed Code: Assemblies
      1. Metadata for Assemblies: Manifests
      2. Categorizing Assemblies
    4. Executing Managed Code
      1. Loading Assemblies
      2. Compiling MSIL
        1. JIT Compilation
      3. Creating a Native Image: NGEN
      4. Securing Assemblies
        1. Code Access Security
        2. Role-Based Security
      5. Garbage Collection
        1. Describing Garbage Collection
        2. Finalizers
      6. Application Domains
    5. Conclusion
  7. 3. .NET Languages
    1. C#
      1. A C# Example
      2. C# Types
      3. Classes
        1. Interfaces
        2. Structures
        3. Arrays
        4. Delegates and Events
        5. Generics
      4. C# Control Structures
      5. Other C# Features
        1. Working with Namespaces
        2. Handling Exceptions
        3. Using Attributes
        4. Writing Unsafe Code
        5. Preprocessor Directives
      6. Visual Basic
      7. A VB Example
      8. VB Types
        1. Classes
        2. Interfaces
        3. Structures
        4. Arrays
        5. Delegates and Events
        6. Generics
      9. VB Control Structures
      10. Other VB Features
        1. Working with Namespaces
        2. Handling Exceptions
        3. Using Attributes
        4. The My Namespace
    2. C++
      1. C++/CLI
        1. A C++/CLI Example
        2. C++/CLI Types
        3. Other C++/CLI Features
      2. Managed C++
        1. A Managed C++ Example
        2. Managed C++ Types
        3. Other Managed C++ Features
    3. Conclusion
  8. 4. Surveying the .NET Framework Class Library
    1. An Overview of the Library
      1. The System Namespace
      2. A Survey of System’s Subordinate Namespaces
    2. Fundamental Namespaces
      1. Input and Output: System.IO
      2. Serialization: System.Runtime.Serialization
      3. Reflection: System.Reflection
      4. XML: System.Xml
        1. The XML Technology Family
        2. What System.Xml Provides
        3. Transactions: System.Transactions
        4. Controlling Transactions with Transaction Scopes
        5. Controlling the Behavior of a Transaction
      5. Interoperability: System.Runtime.InteropServices
        1. Accessing COM Objects
        2. Accessing Non-COM DLLs
      6. Windows GUIs: System.Windows.Forms
        1. Building Application with Windows Forms
        2. Windows Forms Controls
        3. Installing Windows Forms Applications Remotely: ClickOnce
    3. Conclusion
  9. 5. Building Web Applications: ASP.NET
    1. ASP.NET Applications: Basics
      1. Creating .aspx Files
      2. Using Web Controls
      3. Separating User Interface from Code: Code-Behind
      4. Defining Applications
      5. Using Context Information
    2. ASP.NET Applications: Beyond the Basics
      1. Managing State
        1. Storing State on the Client
        2. Storing State on the Server
      2. Caching Data
      3. Authentication and Authorization
      4. Managing Users: Membership
      5. Working with Data: Data Binding
      6. Customizing User Interfaces: Web Parts
    3. Conclusion
  10. 6. Accessing Data: ADO.NET
    1. Using .NET Framework Data Providers
    2. Using Connection and Command Objects
    3. Accessing Data with DataReaders
    4. Accessing Data with DataSets
      1. Creating and Using DataSets
      2. Accessing and Modifying a DataSet’s Contents
      3. Using DataSets with XML-Defined Data
        1. Translating Between DataSets and XML Documents
        2. Synchronizing a DataSet and an XML Document
    5. Conclusion
  11. 7. Building Distributed Applications
    1. ASP.NET Web Services: System.Web.Services
      1. Web Services Fundamentals
      2. ASP.NET Web Services Applications: Basics
      3. ASP.NET Web Services Applications: Beyond the Basics
    2. .NET Remoting: System.Runtime.Remoting
      1. An Overview of the Remoting Process
      2. Passing Information to Remote Objects
      3. Choosing a Channel
      4. Creating and Destroying Remote Objects
        1. Single-Call Objects
        2. Singleton Objects
        3. Client-Activated Objects
    3. Enterprise Services: System.EnterpriseServices
      1. What Enterprise Services Provides
      2. Enterprise Services and COM+
    4. Final Thoughts
  12. About the Author