内 容 简 介分布式编程和.NET平台这两个主题都需要花费大量笔墨才能描述清楚,但在本书中,作者择其精要,深入浅出地介绍了在构建分布式应用时需用到的一些主要的.NET技术,如.NET Remoting、Web服务、串行化、COM+和MSMQ等。对于每一项技术,都首先进行详细的分析,然后再在实际应用中体会该技术解决问题的能力。本书适用的对象为希望利用.NET技术来构建分布式应用程序的并且具有C#和面向对象编程经验的程序员。
前 言 对于进行分布式编程的广大程序员来说,将COM技术扩展到网络上的DCOM无疑是一种福祉。在DCOM模型的帮助下,客户端可以与位于任何地方的COM对象进行精确的互操作,而无需改变CodeBase。在AppID、存根、代理以及通道的间接帮助下可以实现分布式的目的,而且其最终结果与使用像dcomcnfg.exe和Component Services snap-in这样的工具并无什么区别。不过,在DCOM中并不是都能事事如意,就这点而言,在COM中同样如此。虽然从表面上看,只需单击一些复选框就可以轻松地实现基于COM的远程调用,但实际上,还需要面对注册冲突、通过引用传递接口指针时所花费的时间、以及跨防火墙时的艰难等诸多问题。 正如ADO.NET与典型ADO并无多大联系一样,.NET Remoting与典型DCOM也没有什么联系。这一点表现得最明显的是.NET程序集并不进行系统注册,因此,我们也没有AppID。没有了AppID,我们也就没有RemoteServerName的值,这就进一步意味着没有对oleaut32.dll的引用,也就没有了基于COM的存根和代理。简而言之,过去我们所了解的跨网络进行的交互方式全都发生了翻天覆地的变化。 .NET为我们提供了许多新的远程结构。除了要面对如WKO、CAO这样的众多TLA(3个字母的首字母缩写)外,还需要处理围绕旧概念所引发的新问题(例如实际代理和透明代理之间的区别)、以及XML配置文件的任务。 许多准备学习.NET分布式编程的程序员一般都会求助于MSDN。这时,他们就会学习许多代码示例、微软的一些白皮书、还需要一台21寸的监视器来查看各式图表。这样一来,必定会给程序员们造成不少麻烦,而且也会使知识结构之间产生脱节。现在最需要的是要有一种实际的方法,能够彻底地解决在企业级应用环境中如何合理运用这些新技术的问题。 Tom最新出版的图书(也就是您现在手上拿的这本书)就提供了这种解决方式。在本书中,对于.NET Remoting层的许多具体内容,您都可以看到逻辑分明清晰易懂的说明和评述。在Tom的这本书中,不但经常性地将这一系列新的TLA反复提出来,还提出许多以企业为中心的技术,例如构建配置组件(亦称COM+)、.NET通信、Web服务和典型的COM类型间的交互,从而可以加深您对相关技术的理解。 多年来,Tom和我都一直在Intertech公司共事,亲眼目睹他进行了许多关于典型COM和.NET方面的教学。我很荣幸能够与他在许多开发研究工作中进行合作。对于想进行分布式编程的程序员们来说,以我的经验来看,本书确实不错。 祝愉快! Andrew Troelsen