【发布时间】:2015-04-01 00:39:27
【问题描述】:
我有一个运行 WCF 服务的 WebRole。此角色访问存储、队列和表。因此,我在配置文件中保存了连接字符串和其他一些设置(名称、生存时间等)。
假设配置文件可以在运行时更改,我希望能够重新初始化这些设置。假设我让我的 WebRole 在启动时读取配置值:
public class WebRole : RoleEntryPoint
{
public override bool OnStart()
{
string connString = CloudConfigurationManager.GetSetting("StorageConnectionString");
}
}
我有一个名为 MyService 的 WCF 服务:
public MyService()
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connString);
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
}
我在默认构造函数中初始化存储客户端。如何将角色读取的设置传递给服务?通过这种方式,我可以让任何人使用特定设置启动我的服务,并具有良好的测试覆盖率。
注意:将设置作为参数传递听起来不像是一种选择(请参阅this)。
【问题讨论】: