`
baiguomeng
  • 浏览: 956368 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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


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

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

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

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

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

前置条件

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

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

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

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

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

3.当点击“New Namespace”后,会弹出创建新namespace的对话框,若之前此live账户没有lab的subscription,此时他会为你自动创建一个subscription。

在红色框标记的文本框中输入Namespace名称,点击"Check Availability"检测是否此namespace可用,点击“OK”创建。

4. 等待Namespace初始化,当Status显示“Active”时,创建成功。Namespace的信息显示在右侧的Properties面板中。

配置更改:

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

2. 打开文本编辑器,拷贝如下xml,保存为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>

3. 并将其放置到如下目录:

C:/Windows/Microsoft.NET/Framework/v2.0.50727/CONFIG x86 系统)

C:/Windows/Microsoft.NET/Framework64/v2.0.50727/CONFIG x64 系统)

若使用.net4,则使用,则需放在 C:/Windows/Microsoft.NET/Framework/v4.0.30319/Config (x86系统)目录下

验证:

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

1 右击Service项目,Debug->Start new Instance。按照Console提示输入您在https://portal.appfabriclabs.com/处所注册得到的信息。

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环境。如果要将应用程序切换为付费账户,我们也无需做太多更改。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics