現在、IConfigFileSettings の具体的な ConfigFileSettings を、接続文字列の名前を必要とするクラスに挿入しています。単純化されたコードは次のようになります。
public interface IConfigFileSettings
{
string GetConnectionString(string name);
}
public class ConfigFileSettings : IConfigFileSettings
{
public string GetConnectionString(string name)
{
return ConfigurationManager.ConnectionStrings[name].Name;
}
}
これは、iis、Windows サービス、およびコンソール アプリケーションでホストされている webapi で正常に機能します。私は推測する:
ConfigurationManager.ConnectionStrings[name].Name
worker ロールでは機能しません。GetConnectionString メソッドを調整して、すべての環境で透過的に機能するようにすることはできますか? また、接続文字列名を (.cscfg ファイルなどから) 取得した場合でも、コードは次を探します。
<connectionStrings> ... </connectionStrings>
.cscfg ファイルにエントリを追加することはできないのでしょうか?