本文是Windows Azure AppFabric入门教学的第二篇文章,可以说是正式的开始学习AppFabric了。为了使后续的学习顺利进行请确保已浏览本教程的第一篇文章,并以按照该文完成了AppFabric项目和命名空间的创建。我们知道,AppFabirc由Service Bus 和 Access Control Service组成。本篇教学以一个简单的Echo程序来向大家简单的介绍一下Service Bus,让大家能有一个初步了解。
该程序演示了Client向Service发送消息,service以相同的消息进行回应(Echo)。展示了Service Bus如何帮助在不同网络环境中的不同程序进行通信。
前置条件
为了使后续的教程能够顺利进行,请确保如下软件或组件已被安装:
· Microsoft .NET Framework 3.5 SP1
· Microsoft Visual Studio 2008 SP1 (or above)
· AppFabric SDK
请确保您已拥有一定的WCF编程经验,若没有,请浏览这里以快速的初步了解WCF。
最后请确保已创建了一个AppFabric项目和一个服务命名空间。请参考这里 。
原理:
我们首先一下该Echo程序的运作原理。
步骤1,2,4,5是利用AppFabric中的Access Control Service(ACS)服务来确保安全性,这已超出了本篇教程的范畴,我们会在后续教程中讲解ACS的原理与运用。
我们主要关心步骤3和步骤6至9。步骤3为服务器程序与云端建立连接的过程。步骤6至9为客户端调用服务的过程。
Service Bus通过为服务提供了一套通用的命名规范简化了许多通信难题,在独立于网络拓扑和配置的节点之间提供直接或间接的通信。
Service Bus允许WCF应用程序监听公共网络地址,即使其位于NAT或网络防火墙后方。该功能使得应用程序的通信可以无关于其网络结构。使用Service Bus便无需编写与维护复杂的逻辑和代码来跨越不同的网络通信。
代码:
在了解了通信原理之后,我们来看看具体代码是如何编写的。
服务端:
1.在Visual Studio 2008中新建项目,请确保已选择.NET framework 3.5并以Service命名,BasicSample为解决方案名创建Console Application。