| | Copyright |
| | |
| | Preface |
| | | Scope of This Book |
| | | Some Assumptions About the Reader |
| | | Conventions Used in This Book |
| | | Comments and Questions |
| | | Safari Enabled |
| | | Acknowledgments |
| | Chapter 1. Introducing Component-Oriented Programming |
| | | Section 1.1. Basic Terminology |
| | | Section 1.2. Component-Oriented Versus Object-Oriented Programming |
| | | Section 1.3. Principles of Component-Oriented Programming |
| | | Section 1.4. .NET Adherence to Component Principles |
| | | Section 1.5. Developing .NET Components |
| | Chapter 2. .NET Component-Oriented Programming Essentials |
| | | Section 2.1. Language Independence: The CLR |
| | | Section 2.2. Packaging and Deployment: Assemblies |
| | | Section 2.3. Binary Compatibility |
| | Chapter 3. Interface-Based Programming |
| | | Section 3.1. Separating Interface from Implementation |
| | | Section 3.2. Working with Interfaces |
| | | Section 3.3. Interfaces and Generics |
| | | Section 3.4. Designing and Factoring Interfaces |
| | | Section 3.5. Interfaces in Visual Studio 2005 |
| | Chapter 4. Lifecycle Management |
| | | Section 4.1. The Managed Heap |
| | | Section 4.2. Traditional Memory De-allocation Schemas |
| | | Section 4.3. .NET Garbage Collection |
| | | Section 4.4. Object Finalization |
| | | Section 4.5. Deterministic Finalization |
| | Chapter 5. Versioning |
| | | Section 5.1. Assembly Version Number |
| | | Section 5.2. Assembly Deployment Models |
| | | Section 5.3. Strong Assembly Names |
| | | Section 5.4. Visual Studio 2005 and Versioning |
| | | Section 5.5. Custom Version Policies |
| | | Section 5.6. CLR Versioning |
| | Chapter 6. Events |
| | | Section 6.1. Delegate-Based Events |
| | | Section 6.2. Working with .NET Events |
| | Chapter 7. Asynchronous Calls |
| | | Section 7.1. Requirements for an Asynchronous Mechanism |
| | | Section 7.2. Revisiting Delegates |
| | | Section 7.3. Asynchronous Call Programming Models |
| | | Section 7.4. Asynchronous Error Handling |
| | | Section 7.5. Asynchronous Events |
| | | Section 7.6. Asynchronous Invocation Pitfalls |
| | | Section 7.7. Synchronous Versus Asynchronous Processing |
| | Chapter 8. Multithreading and Concurrency Management |
| | | Section 8.1. Threads and Multithreading |
| | | Section 8.2. Components and Threads |
| | | Section 8.3. Working with Threads |
| | | Section 8.4. Synchronizing Threads |
| | | Section 8.5. Automatic Synchronization |
| | | Section 8.6. Manual Synchronization |
| | | Section 8.7. The WorkerThread Wrapper Class |
| | | Section 8.8. Synchronizing Delegates |
| | | Section 8.9. Using .NET Multithreading Services |
| | Chapter 9. Serialization and Persistence |
| | | Section 9.1. Automatic Serialization |
| | | Section 9.2. Serialization Formatters |
| | | Section 9.3. Serialization Events |
| | | Section 9.4. Serialization and Streams |
| | | Section 9.5. Custom Serialization |
| | | Section 9.6. Serialization and Class Hierarchies |
| | Chapter 10. Remoting |
| | | Section 10.1. Application Domains |
| | | Section 10.2. Remote Object Types |
| | | Section 10.3. Marshaling-by-Reference Activation Modes |
| | | Section 10.4. The .NET Remoting Architecture |
| | | Section 10.5. Building a Distributed Application |
| | | Section 10.6. Leasing and Sponsorship |
| | | Section 10.7. .NET and Location Transparency |
| | Chapter 11. Context and Interception |
| | | Section 11.1. .NET Component Services |
| | | Section 11.2. The .NET Context |
| | | Section 11.3. Custom Component Services |
| | Chapter 12. Security |
| | | Section 12.1. The .NET Security Architecture |
| | | Section 12.2. Configuring Permissions |
| | | Section 12.3. Programmatic Security |
| | | Section 12.4. Visual Studio 2005 and Security |
| | | Section 12.5. Principal-Based Security |
| | | Section 12.6. Addressing Other Security Issues |
| | Appendix A. Interface-Based Web Services |
| | | .NET Web Services Support |
| | | Problem Statement |
| | | Solution |
| | Appendix B. Unifying Windows Forms and ASP.NET Security |
| | | ASP.NET Security Infrastructure |
| | | Solution Architecture |
| | | The AspNetLoginControl |
| | | The UserManager Web Service |
| | | The WSLoginControl |
| | | The Sample Application |
| | Appendix C. Reflection and Attributes |
| | | System.Type |
| | | Attributes |
| | | Implementing Custom Attributes |
| | | Generics and Reflection |
| | Appendix D. Generics |
| | | Generics Problem Statement |
| | | What Are Generics? |
| | | Generics Implementation |
| | | Applying Generics |
| | | Generic Constraints |
| | Appendix E. C# Coding Standard |
| | | Naming Conventions and Styles |
| | | Coding Practices |
| | | Project Settings and Project Structure |
| | | Framework-Specific Guidelines |
| | Colophon |
| | | About the Author |
| | | Colophon |
| | Index |