2

我对 Azure 还很陌生,我正在使用 Blob 存储来存储一些二进制图像,但我似乎无法弄清楚如何以编程方式获取我的 Azure 存储端点 URL?

我正在尝试渲染一些<img>使用模拟器在本地正确渲染的标签,或者在部署到我的实时 Azure 实例时。

因此,例如,如果我在本地启动我的网站,它将呈现为:

<img src="http://127.0.0.1:10000/devstoreaccount1/uploads/image.jpg" />

当部署到 Azure 时,它​​会呈现为:

<img src="http://example.blob.core.windows.net/uploads/image.jpg" />

显然,一种方法是将其作为设置存储在我的ServiceConfiguration.Local.cscfgServiceConfiguration.Cloud.cscfg文件中,但必须有一种方法可以以编程方式获取此值。

在此处输入图像描述

4

1 回答 1

2

您是正确的,您的连接字符串应该存储在您的配置中,并且您可以为本地和云设置不同的值。以编程方式,这很容易获得:

首先,确保在角色启动期间设置了配置设置发布者:

CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) => configSetter(RoleEnvironment.GetConfigurationSettingValue(configName)));

现在只需检索您的存储帐户并提取 URL:

var storageAccount = CloudStorageAccount.FromConfigurationSetting("MyStorage");
var urlBase = storageAccount.BlobEndpoint;

在这一点上,您的IMG标签将基于urlBase.

于 2012-04-04T12:09:49.683 回答