| |
| |
Introduction | |
| |
| |
Acknowledgments | |
| |
| |
| |
| |
| |
| |
What Is .NET? | |
| |
| |
Introduction | |
| |
| |
The Vision | |
| |
| |
Web Services | |
| |
| |
Heterogeneous Environment | |
| |
| |
Smart Devices | |
| |
| |
Compelling User Experience | |
| |
| |
The Platform | |
| |
| |
The .NET Framework | |
| |
| |
Common Language Runtime | |
| |
| |
Class Libraries | |
| |
| |
Development Tools | |
| |
| |
Programming Languages | |
| |
| |
The .NET Framework SDK | |
| |
| |
Visual Studio .NET | |
| |
| |
Foundation Services | |
| |
| |
User Authentication Service | |
| |
| |
What Does It All Mean? | |
| |
| |
References | |
| |
| |
| |
From C++ to C# | |
| |
| |
A Simple "Hello User" Program | |
| |
| |
Behind the Scenes | |
| |
| |
C# for C++ Programmers | |
| |
| |
Primitive Data Types | |
| |
| |
Member Accessibility | |
| |
| |
Field Initialization | |
| |
| |
Type Constructors | |
| |
| |
Reference and Value Types | |
| |
| |
Arrays | |
| |
| |
Properties | |
| |
| |
Indexers | |
| |
| |
Delegates and Events | |
| |
| |
Method Parameters | |
| |
| |
Implementation Inheritance | |
| |
| |
Error Handling | |
| |
| |
Garbage Collection | |
| |
| |
Common Programming Paradigms | |
| |
| |
Client--Server Programming | |
| |
| |
Interface-Based Programming | |
| |
| |
Deployment | |
| |
| |
Diagnostics and Support | |
| |
| |
Tracing | |
| |
| |
Using the Debugger | |
| |
| |
Documentation | |
| |
| |
Summary | |
| |
| |
References | |
| |
| |
| |
Assemblies | |
| |
| |
Assemblies | |
| |
| |
Assembly Identification | |
| |
| |
Name | |
| |
| |
Version | |
| |
| |
Culture | |
| |
| |
Public Key | |
| |
| |
Anatomy of an Assembly | |
| |
| |
Modules | |
| |
| |
Metadata | |
| |
| |
Manifest | |
| |
| |
Resources | |
| |
| |
Shared Assemblies | |
| |
| |
The End of DLL Hell | |
| |
| |
Configuration Files | |
| |
| |
Application Configuration File | |
| |
| |
Publisher Policy Configuration File | |
| |
| |
Machine Configuration File | |
| |
| |
Assembly Binding | |
| |
| |
Attribute-Based Programming | |
| |
| |
Custom Attributes | |
| |
| |
Advanced Topics | |
| |
| |
Multifile Assemblies | |
| |
| |
Resources | |
| |
| |
Manifest Tables | |
| |
| |
Reflection | |
| |
| |
Summary | |
| |
| |
References | |
| |
| |
| |
Essentials of the .NET Framework | |
| |
| |
.NET Framework Overview | |
| |
| |
Anatomy of the Framework | |
| |
| |
Installing the Framework | |
| |
| |
Managed Code Execution Overview | |
| |
| |
Configuration | |
| |
| |
General-Purpose Configuration | |
| |
| |
Security Policies | |
| |
| |
Common Language Runtime | |
| |
| |
Common Type System | |
| |
| |
Common Language Specification | |
| |
| |
Value Types and Reference Types | |
| |
| |
Microsoft Intermediate Language | |
| |
| |
Hello World in IL | |
| |
| |
Managed Code Execution | |
| |
| |
Metadata Validation | |
| |
| |
Code Validation and Verification | |
| |
| |
JIT Compilation | |
| |
| |
Code Execution | |
| |
| |
Automatic Memory Management | |
| |
| |
Garbage Collection | |
| |
| |
Generations | |
| |
| |
Finalization | |
| |
| |
Disposing Resources | |
| |
| |
Using IDisposable Objects | |
| |
| |
Hosting the Runtime | |
| |
| |
Side-by-Side Execution | |
| |
| |
Loading the Runtime | |
| |
| |
Summary | |
| |
| |
References | |
| |
| |
| |
Programming with the Base Class Library | |
| |
| |
Enumeration | |
| |
| |
Implementation Considerations | |
| |
| |
Strongly Typed Enumerators | |
| |
| |
Collection | |
| |
| |
Lists | |
| |
| |
Arrays | |
| |
| |
Dictionaries | |
| |
| |
Sorting a Collection | |
| |
| |
Cloning | |
| |
| |
Streams | |
| |
| |
Data Encoding | |
| |
| |
Readers and Writers | |
| |
| |
Serialization | |
| |
| |
Formatters | |
| |
| |
Custom Serialization | |
| |
| |
XML Serializer | |
| |
| |
Strings | |
| |
| |
Formatting | |
| |
| |
String to Base Datatypes | |
| |
| |
Mutable String Class | |
| |
| |
Summary | |
| |
| |
Reference | |
| |
| |
| |
| |
| |
| |
Distributed Computing | |
| |
| |
Application Domains | |
| |
| |
Global Exception Handler | |
| |
| |
Domain-Neutral Assemblies | |
| |
| |
Contexts | |
| |
| |
Marshaling | |
| |
| |
Marshal-by-Value Objects | |
| |
| |
Marshal-by-Reference Objects | |
| |
| |
Nonremotable Objects | |
| |
| |
Remoting Architecture | |
| |
| |
Channels | |
| |
| |
Server-Activated Objects | |
| |
| |
Client-Activated Objects | |
| |
| |
Creating Proxy Classes | |
| |
| |
Remoting Configuration | |
| |
| |
Hosting under ASP.NET | |
| |
| |
Lifetime Leases | |
| |
| |
ASP.NET Web Services | |
| |
| |
Providing Web Services | |
| |
| |
Consuming Web Services | |
| |
| |
Managing State in ASP.NET Web Services | |
| |
| |
Customizing the Web Service Interface | |
| |
| |
Tracing ASP.NET Web Services | |
| |
| |
Remoting Internals | |
| |
| |
Messages | |
| |
| |
Contexts | |
| |
| |
Transparent and Real Proxies | |
| |
| |
Channels | |
| |
| |
The Complete Picture | |
| |
| |
Summary | |
| |
| |
References | |
| |
| |
| |
Interoperability | |
| |
| |
Introduction | |
| |
| |
Managed Code to Native DLLs | |
| |
| |
A Simple Example | |
| |
| |
String Type as Output | |
| |
| |
Pointers | |
| |
| |
Structures | |
| |
| |
Marshaling Hints | |
| |
| |
Accessing COM Components from .NET | |
| |
| |
A Simple Example | |
| |
| |
Lifetime Management | |
| |
| |
Error Handling | |
| |
| |
COM Apartments | |
| |
| |
DataTypes | |
| |
| |
Custom Wrapper | |
| |
| |
Late Binding | |
| |
| |
Accessing .NET Components from COM | |
| |
| |
Lifetime Issues | |
| |
| |
Adjusting Interop Attributes | |
| |
| |
Summary | |
| |
| |
References | |
| |
| |
| |
Concurrency | |
| |
| |
Multithread Programming | |
| |
| |
A Simple Example | |
| |
| |
Background Threads | |
| |
| |
Aborting a Thread | |
| |
| |
Multithreading Issues | |
| |
| |
Shared Data Conflicts | |
| |
| |
State Changes | |
| |
| |
Thread Affinity | |
| |
| |
Performance | |
| |
| |
Asynchronous Programming | |
| |
| |
Asynchronous Delegates | |
| |
| |
Web Service Clients | |
| |
| |
Thread Pooling | |
| |
| |
Summary | |
| |
| |
| |
Security | |
| |
| |
Introduction | |
| |
| |
Code Access Security | |
| |
| |
Code Access Permissions | |
| |
| |
Evidence | |
| |
| |
Security Policy | |
| |
| |
Requesting Permissions | |
| |
| |
Role-Based Security | |
| |
| |
Users and Roles | |
| |
| |
Managed Thread Principal | |
| |
| |
Impersonation | |
| |
| |
Role-Based Security Checks | |
| |
| |
ASP.NET Web Services Security | |
| |
| |
Hosting ASP.NET under IIS | |
| |
| |
Authentication | |
| |
| |
Role-Based Security | |
| |
| |
Code Access Security | |
| |
| |
Impersonation | |
| |
| |
Summary | |
| |
| |
References | |
| |
| |
| |
Enterprise Services | |
| |
| |
Enterprise Systems: .NET and COM+ | |
| |
| |
Developing .NET Serviced Components | |
| |
| |
Serviced Component | |
| |
| |
Enterprise Service Attributes | |
| |
| |
Configuring the Assembly | |
| |
| |
Registering the Serviced Components | |
| |
| |
Implementing a Client | |
| |
| |
JIT Activation | |
| |
| |
Configuration and Working | |
| |
| |
Object Pooling | |
| |
| |
Configuration and Working | |
| |
| |
Role-Based Security | |
| |
| |
Declarative Access Check | |
| |
| |
Programmatic Access Check | |
| |
| |
Queued Components | |
| |
| |
Configuring a Queued Component | |
| |
| |
Managed Clients | |
| |
| |
Transactions | |
| |
| |
A Simple Banking System | |
| |
| |
Theory of Transaction | |
| |
| |
Configuring the Serviced Components | |
| |
| |
Extending Transactions to Clients | |
| |
| |
Extending Transactions to Web Services | |
| |
| |
Summary | |
| |
| |
References | |
| |
| |
Index | |