|
|
|
Copyright
|
|
|
|
Dedication
|
|
|
|
Foreword
|
|
|
|
Preface
|
|
|
|
Chapter 1. WCF Essentials
|
|
|
|
|
Section 1.1. What Is WCF?
|
|
|
|
|
Section 1.2. Services
|
|
|
|
|
Section 1.3. Addresses
|
|
|
|
|
Section 1.4. Contracts
|
|
|
|
|
Section 1.5. Hosting
|
|
|
|
|
Section 1.6. Bindings
|
|
|
|
|
Section 1.7. Endpoints
|
|
|
|
|
Section 1.8. Metadata Exchange
|
|
|
|
|
Section 1.9. Client-Side Programming
|
|
|
|
|
Section 1.10. Programmatic Versus Administrative Configuration
|
|
|
|
|
Section 1.11. WCF Architecture
|
|
|
|
|
Section 1.12. Working with Channels
|
|
|
|
|
Section 1.13. Reliability
|
|
|
|
Chapter 2. Service Contracts
|
|
|
|
|
Section 2.1. Operation Overloading
|
|
|
|
|
Section 2.2. Contract Inheritance
|
|
|
|
|
Section 2.3. Service Contracts Factoring and Design
|
|
|
|
|
Section 2.4. Contract Queries
|
|
|
|
Chapter 3. Data Contracts
|
|
|
|
|
Section 3.1. Serialization
|
|
|
|
|
Section 3.2. Data Contract Attributes
|
|
|
|
|
Section 3.3. Data Contract Hierarchy
|
|
|
|
|
Section 3.4. Data Contract Equivalence
|
|
|
|
|
Section 3.5. Versioning
|
|
|
|
|
Section 3.6. Enumerations
|
|
|
|
|
Section 3.7. Delegates and Data Contracts
|
|
|
|
|
Section 3.8. Data Sets and Tables
|
|
|
|
|
Section 3.9. Generics
|
|
|
|
|
Section 3.10. Collections
|
|
|
|
Chapter 4. Instance Management
|
|
|
|
|
Section 4.1. Behaviors
|
|
|
|
|
Section 4.2. Per-Call Services
|
|
|
|
|
Section 4.3. Per-Session Services
|
|
|
|
|
Section 4.4. Singleton Service
|
|
|
|
|
Section 4.5. Demarcating Operations
|
|
|
|
|
Section 4.6. Instance Deactivation
|
|
|
|
|
Section 4.7. Throttling
|
|
|
|
Chapter 5. Operations
|
|
|
|
|
Section 5.1. Request-Reply Operations
|
|
|
|
|
Section 5.2. One-Way Operations
|
|
|
|
|
Section 5.3. Callback Operations
|
|
|
|
|
Section 5.4. Events
|
|
|
|
|
Section 5.5. Streaming
|
|
|
|
Chapter 6. Faults
|
|
|
|
|
Section 6.1. Errors and Exceptions
|
|
|
|
|
Section 6.2. Fault Contracts
|
|
|
|
|
Section 6.3. Error-Handling Extensions
|
|
|
|
Chapter 7. Transactions
|
|
|
|
|
Section 7.1. The Recovery Challenge
|
|
|
|
|
Section 7.2. Transactions
|
|
|
|
|
Section 7.3. Transaction Propagation
|
|
|
|
|
Section 7.4. Transaction Protocols and Managers
|
|
|
|
|
Section 7.5. The Transaction Class
|
|
|
|
|
Section 7.6. Transactional Service Programming
|
|
|
|
|
Section 7.7. Explicit Transaction Programming
|
|
|
|
|
Section 7.8. Service State Management
|
|
|
|
|
Section 7.9. Instance Management and Transactions
|
|
|
|
|
Section 7.10. Callbacks
|
|
|
|
Chapter 8. Concurrency Management
|
|
|
|
|
Section 8.1. Instance Management and Concurrency
|
|
|
|
|
Section 8.2. Service Concurrency Mode
|
|
|
|
|
Section 8.3. Instances and Concurrent Access
|
|
|
|
|
Section 8.4. Resources and Services
|
|
|
|
|
Section 8.5. Resource Synchronization Context
|
|
|
|
|
Section 8.6. Service Synchronization Context
|
|
|
|
|
Section 8.7. Custom Service Synchronization Context
|
|
|
|
|
Section 8.8. Callbacks and Client Safety
|
|
|
|
|
Section 8.9. Callbacks and Synchronization Context
|
|
|
|
|
Section 8.10. Asynchronous Calls
|
|
|
|
Chapter 9. Queued Services
|
|
|
|
|
Section 9.1. Disconnected Services and Clients
|
|
|
|
|
Section 9.2. Queued Calls
|
|
|
|
|
Section 9.3. Transactions
|
|
|
|
|
Section 9.4. Instance Management
|
|
|
|
|
Section 9.5. Concurrency Management
|
|
|
|
|
Section 9.6. Delivery Failures
|
|
|
|
|
Section 9.7. Playback Failures
|
|
|
|
|
Section 9.8. Queued Versus Connected Calls
|
|
|
|
|
Section 9.9. Response Service
|
|
|
|
|
Section 9.10. HTTP Bridge
|
|
|
|
Chapter 10. Security
|
|
|
|
|
Section 10.1. Authentication
|
|
|
|
|
Section 10.2. Authorization
|
|
|
|
|
Section 10.3. Transfer Security
|
|
|
|
|
Section 10.4. Identity Management
|
|
|
|
|
Section 10.5. Overall Policy
|
|
|
|
|
Section 10.6. Scenario-Driven Approach
|
|
|
|
|
Section 10.7. Intranet Application
|
|
|
|
|
Section 10.8. Internet Application
|
|
|
|
|
Section 10.9. Business-to-Business Application
|
|
|
|
|
Section 10.10. Anonymous Application
|
|
|
|
|
Section 10.11. No Security
|
|
|
|
|
Section 10.12. Scenarios Summary
|
|
|
|
|
Section 10.13. Declarative Security Framework
|
|
|
|
|
Section 10.14. Security Auditing
|
|
|
|
Appendix A. Introduction to Service-Orientation
|
|
|
|
|
Section A.1. A Brief History of Software Engineering
|
|
|
|
|
Section A.2. Service-Orientation
|
|
|
|
|
Section A.3. Tenets and Principles
|
|
|
|
Appendix B. Publish-Subscribe Service
|
|
|
|
|
Section B.1. The Publish-Subscribe Design Pattern
|
|
|
|
|
Section B.2. The Publish-Subscribe Framework
|
|
|
|
Appendix C. WCF Coding Standard
|
|
|
|
|
Section C.1. General Design Guidelines
|
|
|
|
|
Section C.2. Essentials
|
|
|
|
|
Section C.3. Service Contracts
|
|
|
|
|
Section C.4. Data Contracts
|
|
|
|
|
Section C.5. Instance Management
|
|
|
|
|
Section C.6. Operations and Calls
|
|
|
|
|
Section C.7. Faults
|
|
|
|
|
Section C.8. Transactions
|
|
|
|
|
Section C.9. Concurrency Management
|
|
|
|
|
Section C.10. Queued Services
|
|
|
|
|
Section C.11. Security
|
|
|
|
Colophon
|
|
|
|
Index
|