3

我是 Azure 的新手,我想创建一个简单的 .Net 应用程序(在 C# 中),它有一个 Web 角色和一个辅助角色来上传和调整图像大小。我已经在网络角色中制作了一个画廊。它会创建一个 blob,然后将图片上传到那里,然后显示它们。

我现在想做的事情:如果任何图片太大,则发送消息将队列扔给工作角色,然后在工作角色中调整它们的大小。我的问题是我看不到如何访问在 web 角色中创建的同一个 blob(首先我想在本地开发模拟器中访问它)。如果我在工作角色属性 --> 设置页面中添加一个新条目,它将给我一个完全不同的 blob 连接字符串,不是吗?

谢谢你的帮助。

4

1 回答 1

4

为了从多个角色访问相同的存储帐户,您需要将连接字符串添加到云项目中的所有角色:

在此处输入图像描述

要初始化客户端,您将编写如下内容(同样,这对您的所有角色都是相同的):

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
    CloudConfigurationManager.GetSetting("MyStorageAccount"));

每当您的 Web 角色向队列发送消息以通知 Worker 角色应调整图像大小时,只需包含 url 或容器名称 + blob 路径。有了这些信息,您的 Worker Role 将能够获取 blob 并进行所需的处理。

我建议你看看官方的 Windows Azure 培训工具包。其中一个动手实验室完全可以使用留言簿应用程序完成您在此处尝试执行的操作(在 Web 角色上上传图像,在 Worker 角色中创建缩略图,...):HOL-IntroToCloudServices Ex2-UsingWorkerRolesAndQueues

于 2012-12-02T21:06:54.127 回答