買這商品的人也買了...
-
$1,029Fundamentals of Data Structures in C++
-
$1,200$1,176 -
$1,029Fundamentals of Data Structures in C
-
$680$537 -
$420$357 -
$1,150$1,127 -
$880$695 -
$560$504 -
$1,029Operating System Concepts, 6/e (Windows XP Update)
-
$560$476 -
$620$558 -
$780$741 -
$650$553 -
$580$458 -
$590$466 -
$750$585 -
$680$537 -
$690$538 -
$750$675 -
$560$504 -
$480$379 -
$780$616 -
$780$741 -
$1,176Computer Organization and Design: The Hardware/Software Interface, 3/e(IE) (美國版ISBN:1558606041)
-
$650$507
相關主題
商品描述
Description:
A practical, in-depth look at how developers can leverage .NET Remoting to build distributed, Internet-based applications.
This title shows developers how to build Internet-based, distributed applications using Microsoft .NET Remoting, which enables powerful remote interaction among objects. A fundamental understanding of .NET Remoting is crucial as developers shift to developing distributed, Internet-based applications. Until recently, DCOM was the preferred method for developing distributed applications on Microsoft platforms. But as this book demonstrates, the .NET Remoting architecture is much easier to use and extend than DCOM. The book covers all aspects of .NET Remoting, including in-depth coverage of the .NET Remoting architecture plus concrete examples, best practices, and performance tips to show how to extend and customize the framework.
• Provides developers with deep design and implementation guidance to help them build better distributed applications on the Microsoft .NET Framework
• One third of the book introduces readers to the basics of using .NET Remoting to develop distributed application
• Two-thirds of the book covers advanced features of .NET Remoting plus details on how to extend and customize the framework
Table of Contents:
Introduction | xi |
1 Understanding Distributed Application Development | 1 |
A Brief History | 2 |
Distributed Architectures | 2 |
Distributed Technologies | 6 |
Distributed Objects—A Welcome Abstraction | 7 |
Benefits of Distributed Application Development | 8 |
Fault Tolerance | 8 |
Scalability | 9 |
Administration | 9 |
Challenges of Distributed Application Development | 10 |
Performance | 10 |
Security | 12 |
Interoperability and Wire Formats | 12 |
The Internet and Firewalls | 12 |
Configuration | 13 |
Location Independence | 14 |
Object Lifetime Management | 14 |
Using .NET Remoting to Meet the Challenges | 14 |
Performance | 15 |
Extending and Customizing Remoting | 15 |
Configuration | 16 |
CLR and CTS Benefits | 17 |
Interoperability | 18 |
Security | 18 |
Lifetime Management | 20 |
Enterprise Services | 20 |
Summary | 21 |
2 Understanding the .NET Remoting Architecture | 23 |
Remoting Boundaries | 23 |
Application Domains | 24 |
Contexts | 24 |
Crossing the Boundaries | 24 |
Object Activation | 28 |
Server Activated | 29 |
Client Activated | 32 |
An Object's Lease on Life | 33 |
Leases | 34 |
Lease Manager | 35 |
Sponsors | 36 |
Crossing Application Boundaries | 37 |
Marshaling Remote Object References via an ObjRef | 37 |
Clients Communicate with Remote Objects via Proxies | 39 |
Messages Form the Basis of Remoting | 41 |
Channels Transport Messages Across Remoting Boundaries | 42 |
Channel Sink Chains Can Act on Messages | 43 |
Summary | 47 |
3 Building Distributed Applications with .NET Remoting | 49 |
Designing a Distributed Job Assignment Application | 50 |
Implementing the JobServer Application | 50 |
Implementing the JobServer Application Logic | 50 |
Adding .NET Remoting | 55 |
Implementing the JobClient Application | 63 |
Choosing a Client Application Domain | 64 |
Obtaining the Server's Metadata | 72 |
Configuring the JobClient Application for .NET Remoting | 73 |
Exposing the JobServerImpl Class as a Web Service | 77 |
Changes to the Sample Application | 79 |
Using the SOAPSuds Tool | 81 |
Adding Security to the Web Service | 83 |
Using Role-Based Security with .NET Remoting | 85 |
Extending the Sample with Client-Activated Objects | 88 |
The JobNotes Class | 88 |
JobClient Application Changes | 90 |
Configuring the Client for .NET Remoting Client-Activated Objects | 92 |
Configuring the Server for .NET Remoting Client-Activated Objects | 94 |
Adding a Sponsor to the Lease | 95 |
Metadata Dependency Issues | 98 |
Removing the JobServer's Dependency on the JobClient's Metadata | 98 |
Developing a Stand-In Class to Publish in Place of JobServerImpl Metadata | 100 |
Remoting the IJobServer Interface | 101 |
Summary | 103 |
4 SOAP and Message Flows | 105 |
Simple Object Access Protocol | 105 |
Why Should We Care About SOAP? | 106 |
HTTP-Based RPC | 107 |
SOAP Message Elements | 107 |
Document/Literal SOAP | 110 |
Message Flows | 110 |
The add_JobEvent Request Message | 111 |
The add_JobEvent Response Message | 116 |
The GetJobs Request Message | 117 |
The GetJobs Response Message | 117 |
The CreateJob Request Message | 119 |
The CreateJob Response Message | 119 |
The UpdateJobState Request Message | 120 |
The UpdateJobState Response Message | 120 |
The JobNotes Activation Request Message | 121 |
The JobNotes Activation Response Message | 122 |
The remove_JobEvent Request Message | 124 |
The remove_JobEvent Response Message | 128 |
Summary | 129 |
5 Messages and Proxies | 131 |
Messages | 131 |
Construction Call Messages | 132 |
Method Call Messages | 132 |
Message Types | 133 |
Proxies | 135 |
TransparentProxy | 135 |
RealProxy | 136 |
Extending RealProxy | 137 |
Custom Proxies in Practice | 137 |
Summary | 155 |
6 Message Sinks and Contexts | 157 |
Message Sinks | 157 |
IMessageSink | 158 |
Synchronous Message Processing | 159 |
Asynchronous Message Processing | 160 |
Understanding Contexts | 161 |
Establishing a Context | 162 |
Context Attributes and Properties | 162 |
Contexts and Remoting | 165 |
Dynamic Context Sinks | 167 |
Client Context Sink Chain | 169 |
Server Context Sink Chain | 170 |
Server Object Sink Chain | 178 |
Envoy Sink Chain | 183 |
Summary | 193 |
7 Channels and Channel Sinks | 195 |
How Channels Are Constructed | 195 |
Channel Terminology | 196 |
HttpChannel | 196 |
HttpServerChannel | 199 |
HttpServerTransportSink | 201 |
HttpClientChannel | 202 |
HttpClientTransportSinkProvider | 202 |
HttpClientTransportSink | 203 |
Creating Custom Channels | 204 |
The Steps for Creating a Custom .NET Remoting Channel | 204 |
Creating the Custom Channel FileChannel | 205 |
Implementing a Custom Channel Sink | 232 |
Creating the AccessTime Custom Sink | 233 |
Summary | 240 |
8 Serialization Formatters | 241 |
Object Serialization | 241 |
Serializable Attribute | 242 |
Customizing Object Serialization | 243 |
Object Graph Serialization | 246 |
Object Graph Deserialization | 248 |
Serialization Surrogates and Surrogate Selectors | 249 |
Serialization Formatters | 253 |
Obtaining a Type's Serializable Members | 253 |
Traversing an Object Graph | 255 |
Using the ObjectManager Class | 257 |
Using the Formatter Class | 261 |
Implementing a Custom Serialization Formatter | 262 |
Creating a Formatter Sink | 288 |
Client Formatter Sink | 288 |
Server Formatter Sink | 293 |
Summary | 298 |
INDEX | 299 |