本节通过简短的语言讲解Microsoft .NET Services (Dec 2008 CTP) SDK里的实例,向大家展示Service Bus的入门知识。
没有安装Microsoft .NET Services (Dec 2008 CTP) SDK的朋友直接直接下载本文附件使用。
使用实例:
首先,打开Microsoft .NET Services (Dec 2008 CTP) SDKSamplesServiceBusGettingStartedEchoCS35 目录下的Visual Studio解决方案EchoSample.sln
图片看不清楚?请点击这里查看原图(大图)。
在Service项目上点击右键,启用新实例。
输入方案的用户名和密码。(在http://portal.ex.azure.microsoft.com中设置的)验证成功后控制台会给出一个类似"sb://servicebus.windows.net/services/sixsix/EchoService”的URI。
图片看不清楚?请点击这里查看原图(大图)。
然后再启用一个客户端(Client)的调试实例。同样要求输入Solution名和密码。
图片看不清楚?请点击这里查看原图(大图)。
此时客户端已经已经连上服务端的服务了。
相信大家通过解决方案名都已经知道这个服务的作用了,很简单,就是客户段输入字符串到服务端,服务端向客户端传回同样的字符串。
图片看不清楚?请点击这里查看原图(大图)。
通过实例看Service Bus有啥用:
显然,这个实例中使用的服务是网络编程中最基础的Echo服务。我们使用了Username/Password的验证方式。
读者可以尝试关掉服务端。你会发现,客户端没有任何变化,只是不能再调用服务,不能得到echo而已。这说明Service Bus其实起了一个桥接作用。服务端程序无论运行在怎样的网络环境下,无论是在NAT之内还是公共环境,也不在乎这个服务的IP如何更改,甚至服务处于防火墙后面,客户端对其的定位依赖于Service Bus提供的统一URI,Service Bus为服务提供了注册与地址解析。在本例中,Echo服务的地址始终是"sb://servicebus.windows.net/services/sixsix/EchoService/”,该服务的实际网络环境和地理位置,对客户机是完全透明的。这是上一节提到的,Service Bus的一个实用的牛X功能。
另外,此时如果你打开http://servicebus.windows.net/services/{your solution name}/,可以看到Service Bus把你Solution下的都以Atom 1.0 Feed的格式装在了"Bus"中(只显示当前可以使用的服务,也就是说,如果你关掉了服务端程序,就不会看到内容)。下面截图了显示了http://servicebus.windows.net/services/sixsix/ 。"sixsix"是我的Solution名。目前这个Solution下只有1个echoservice。
图片看不清楚?请点击这里查看原图(大图)。
明白Service Bus的使用方法和目的后,编程操作是很容易的。请自行查看代码。