Windows Azure AppFabric 入门教学系列 (三):LABS环境

公告:本博客为微软云计算中文博客的镜像博客。部分文章因为博客兼容性问题,会影响阅读体验。如遇此情况,请访问原博客


本文是Windows Azure AppFabric入门教学的第三篇文章。我们会介绍一下LABS环境。

微软AppFabric团队与2010311日推出了AppFabric LABS环境。AppFabric团队会用其展示一些早期特性,并从社区获得反馈。用户无需为该环境的使用付费。

AppFabric LABS使得用户能够测试并使用实验性的AppFabric技术。对于那些激动人心的功能和特性,我们希望从用户那里尽快的获得反馈。LABS环境并没有SLA协议的支持,但您可以获得AppFabric新特性的预览,同时帮助我们改善这些特性。

虽然与Community Technology Preview类似,但是LABS技术离商用有着更远的距离。

在这个版本的LABS环境中,我们提供了2大特性。

1. Silverlight支持:增加了Silverlight客户端跨域调用Service BusAccess Control Services的能力。

2.Message Buffers的多播:增加了Message Buffers依附于一个多播群组的能力。发送至多播群组的信息会被投递给所有依附其上的Message Buffer

在上一篇文章中,我们演示了Echo程序,但是其配置基于Azure收费账户,本文会介绍如何将Echo程序改为在LABS环境下运行。

前置条件

为了使后续的教程能够顺利进行,请确保如下软件或组件已被安装:

·Microsoft .NET Framework 3.5 SP1

·Microsoft Visual Studio 2008 SP1 (or above)

·AppFabric SDK

·Windows Azure Platform Training Kit - December Update(示例代码)

请确保您已拥有一定的WCF编程经验,若没有,请浏览这里以快速的初步了解WCF

创建LABS项目和服务命名空间:

1.https://portal.appfabriclabs.com/处,以您的Live ID登陆。

2.在如下红框处点击以创建新的AppFabric项目。(可以参照本教程第一篇文章: 4/windows-azure-appfabric-appfabric.aspx">创建 AppFabric 项目与命名空间

Windows Azure AppFabric 入门教学系列 (三):LABS环境

3.输入项目名称,创建项目完毕后,点击进入项目页面。单击Add Service Namespace,如下图红框处。

Windows Azure AppFabric 入门教学系列 (三):LABS环境

4.输入Service Namespace,单击Create之后等待其激活。

5.激活后,点击进入Service Namespace页面。如下图

Windows Azure AppFabric 入门教学系列 (三):LABS环境

配置更改:

1.如果没有按照上一篇教程完成Echo程序,可以从Windows Azure Platform Training Kit - December Update(示例代码)安装目录下WindowsAzurePlatformKit\Labs\IntroServiceBus\Source\Ex01-BasicSample\end\CS找到完整的Echo程序代码。双击BasicSample.sln,以打开项目。

2.这里下载到serviceBus.config.txt。将文件重命名为servicebus.config。并将其放置到如下目录:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIGx86系统)

C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIGx64系统)

验证:

至此,所有需要的更改已经全部完成。我们并没有做任何代码的改动,仅仅是增加了一个配置文件。现在我们已经可以进行调试了。

1.右击Service项目,Debug->Start new Instance

按照Console提示输入您在https://portal.appfabriclabs.com/处所注册得到的信息。

Service Namespace DomainIssuer NameIssuer Key的具体位置请参照下图。

Windows Azure AppFabric 入门教学系列 (三):LABS环境

2.右击Client项目,Debug->Start new Instance启动另一调试实例,同样按照Console提示输入信息。

最终效果如图:

探析:

在编程方面,对于此Echo项目的来说,在LABS环境和付费环境下唯一的差别仅是放置servicebus.config的差别。以下为servicebus.config的内容:

<?xml version="1.0" encoding="utf-8"?>

<!-- the root web configuration file -->

<configuration>

<Microsoft.ServiceBus>

<relayHostName>servicebus.appfabriclabs.com</relayHostName>

<stsHostName>accesscontrol.appfabriclabs.com</stsHostName>

<acmHostName>accesscontrol.appfabriclabs.com</acmHostName>

</Microsoft.ServiceBus>

</configuration>

而引起差别的代码便是如下语句:

ServiceBusEnvironment.CreateServiceUri("sb",serviceNamespaceDomain, "EchoService");

该方法会读取servicebus.config的内容,我们看到在LABS环境下,会返回如下形式的URI

sb://xxxxxx.servicebus.appfabriclabs.com/EchoService/

而不放置servicebus.config时返回如下形式URI:

sb://xxxxxx.servicebus.windows.net/EchoService/;(Azure收费账户)

由此 程序将服务挂载到了LABS环境下。

除此之外程序并无二致。因此LABS的环境对于开发者来以非常简便的方法提供了一致的编程体验,无需更改代码便能体验LABS环境。如果要将应用程序切换为付费账户,我们也无需做太多更改。

你可能感兴趣的:(编程,windows,Microsoft,silverlight,WCF)