2011-08-01

在Windows Azure中读取配置文件中的连接设置

Posted in .NET at 11:40 Author:仲远

标签:

在使用Windows Azure时,常常需要从配置文件中读取连接字符串,来连接Azure的存储账户。我们可以使用如下语句很快速地连接Azure上的存储账户:

var storageAccount = CloudStorageAccount.FromConfigurationSetting(”DataConnectionString”);

不过在使用上述语句连接Azure存储账户之前,需要首先将配置文件中的各项配置SetConfigurationSettingPublisher。否则你有可能会得到如下的错误信息:

Unhandled Exception: System.InvalidOperationException: ConfigurationSettingSubscriber needs to be set before FromConfigurationSetting can be used
at Microsoft.WindowsAzure.CloudStorageAccount.FromConfigurationSetting(String settingName)

有如下两种方法来将配置文件中设置好的连接字符串SetConfigurationSettingPublisher:

(1)如果你使用的是Azure模板来生成这个项目,则配置是写在ServiceConfiguration.cscfg文件中。那么你可以使用如下代码来读取配置文件中的各项设置:

CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSettingPublisher) =>
{
var connectionString = RoleEnvironment.GetConfigurationSettingValue(configName);
configSettingPublisher(connectionString);
}
);

(2)如果你使用的是C#项目常用的app.config或者web.config,你可以使用如下代码来读取配置文件中的各项设置:

CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) =>
configSetter(ConfigurationManager.AppSettings[configName]));

通过上述方法进行设置后,就可以使用CloudStorageAccount来获得Azure账户的连接了。需要注意的是,上述读取配置文件只需运行一次,所以如果是在WebRole中,可以将代码添加到Global.asax文件的void Application_Start(object sender, EventArgs e)方法中。如果是在WorkRole中,这添加到只在对象初始化时运行一次的方法中。

本文可以自由转载,转载时请保留全文并注明出处:
转载自仲子说 [ http://www.wangzhongyuan.com/ ]
原文链接:

Leave a Comment

*
To prove you're a person (not a spam script), type the security text shown in the picture. Click here to regenerate some new text.
Click to hear an audio file of the anti-spam word