Microsoft .NET Remoting
暫譯: Microsoft .NET 遠端處理

James Naftel, Kim Williams

  • 出版商: MicroSoft
  • 出版日期: 2002-10-05
  • 售價: $1,880
  • 貴賓價: 9.5$1,786
  • 語言: 英文
  • 頁數: 336
  • 裝訂: Paperback
  • ISBN: 0735617783
  • ISBN-13: 9780735617780
  • 相關分類: .NET
  • 已過版

買這商品的人也買了...

商品描述

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

商品描述(中文翻譯)

描述:
這本書深入探討開發人員如何利用 .NET Remoting 建立分散式的網際網路應用程式。這本書展示了開發人員如何使用 Microsoft .NET Remoting 建立基於網際網路的分散式應用程式,這使得物件之間的遠端互動變得強大而簡便。隨著開發人員轉向開發分散式的網際網路應用程式,對 .NET Remoting 的基本理解變得至關重要。直到最近,DCOM 是在 Microsoft 平台上開發分散式應用程式的首選方法。但正如本書所示,.NET Remoting 架構比 DCOM 更容易使用和擴展。本書涵蓋了 .NET Remoting 的各個方面,包括對 .NET Remoting 架構的深入介紹,以及具體範例、最佳實踐和性能提示,展示如何擴展和自訂該框架。

• 提供開發人員深入的設計和實作指導,幫助他們在 Microsoft .NET Framework 上建立更好的分散式應用程式
• 本書的三分之一介紹了使用 .NET Remoting 開發分散式應用程式的基本知識
• 本書的三分之二涵蓋了 .NET Remoting 的進階功能,以及如何擴展和自訂該框架的詳細資訊

目錄:
引言
第1章 理解分散式應用程式開發
簡史
分散式架構
分散式技術
分散式物件—一種受歡迎的抽象
分散式應用程式開發的好處
故障容忍
可擴展性
管理
分散式應用程式開發的挑戰
性能
安全性
互操作性與傳輸格式
網際網路與防火牆
配置
位置獨立性
物件生命週期管理
使用 .NET Remoting 來應對挑戰
性能
擴展與自訂 Remoting
配置
CLR 和 CTS 的好處
互操作性
安全性
生命週期管理
企業服務
總結
第2章 理解 .NET Remoting 架構
Remoting 邊界
應用程式域
上下文
跨越邊界
物件啟動
伺服器啟動
客戶端啟動
物件的生命租約
租約
租約管理器
贊助者
跨越應用程式邊界
通過 ObjRef 進行遠端物件參考的序列化
客戶端通過代理與遠端物件通信
消息構成 Remoting 的基礎
通道在 Remoting 邊界之間傳輸消息
通道接收器鏈可以對消息進行操作
總結
第3章 使用 .NET Remoting 建立分散式應用程式