技术开发 频道

Azure Services探索:存储之队列存储

  这次我们就直接创建一个同时包含Web role和Worker Role的项目:

  创建项目后,在写代码之前,我们还需要做两件事,一是配置和定义Azure 服务,另外一个是确定访问/存取Azure 队列存储的组件。

  在目前的Azure运行环境中,队列存储,表存储和Blob存储服务都是以REST的协议提供了访问接口,基本上你如果要使用这些服务,只要有一个访问/存取Azure 队列存储的组件/客户端,以及访问的用户和密码就可以了。

  访问的用户和密码我们可以配置在Azure 服务的配置文件中,而一个访问/存取Azure 队列存储的组件/客户端,现在流行的是直接使用SDK中的StorageClient 类库,这个类库在 Azure SDK的\StorageClient\Lib 目录下,我喜欢将其编译后,放到单独的一个目录,以后再项目中直接添加文件引用。命名空间是:Microsoft.Samples.ServiceHosting.StorageClient

  首先是要在服务定义文件ServiceDefinition.csdef中定义队列相关的用户名和密码,队列访问地址,因为Web role和Work role 都要存取和访问队列,所以都需要进行定义

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="WorkingWithQueues" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
<WebRole name="WebRole">
<ConfigurationSettings>
<Setting name="QueueStorageEndpoint"/>
<Setting name="AccountName"/>
<Setting name="AccountSharedKey"/>
</ConfigurationSettings>
<InputEndpoints>
<!-- Must use port 80 for http and port 443 for https when running in the cloud -->
<InputEndpoint name="HttpIn" protocol="http" port="80" />
</InputEndpoints>
</WebRole>
<WorkerRole name="WorkerRole">
<ConfigurationSettings>
<Setting name="QueueStorageEndpoint"/>
<Setting name="AccountName"/>
<Setting name="AccountSharedKey"/>
</ConfigurationSettings>
</WorkerRole>
</ServiceDefinition>

  之后在服务配置文件ServiceConfiguration.cscfg中,定义在服务定义文件中各个参数的值

<?xml version="1.0"?>
<ServiceConfiguration serviceName="WorkingWithQueues" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
<Role name="WebRole">
<Instances count="1"/>
<ConfigurationSettings>
<Setting name="QueueStorageEndpoint" value="http://127.0.0.1:10001"/>
<Setting name="AccountName" value="devstoreaccount1"/>
<Setting name="AccountSharedKey" value="Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=="/> </ConfigurationSettings>
</Role>
<Role name="WorkerRole">
<Instances count="1"/>
<ConfigurationSettings>
<Setting name="QueueStorageEndpoint" value="http://127.0.0.1:10001"/>
<Setting name="AccountName" value="devstoreaccount1"/>
<Setting name="AccountSharedKey" value="Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=="/> </ConfigurationSettings>
</Role>
</ServiceConfiguration>

  然后分别在Web Role和Worker Role的项目中添加StorageClient的引用

  这里可以看一下主要的几个代码

0
相关文章