所以我想在应用程序中存储一些设置,我只能读取它们(我认为这几乎就是这个想法)。
如何注入阅读器,我不完全确定如何首先阅读应用程序设置,或者它是否已经有注入界面。
我要么想要这样的东西:
public interface IPropertyService
{
string ReadProperty(string key);
}
然后实施:
public class DefaultPropertyService : IPropertyService
{
public string ReadProperty(string key)
{
// what ever code that needs to go here
// to call the application settings reader etc.
return ApplicationSetting[key];
}
}
关于这个主题的任何帮助都会很棒
答案 0 :(得分:5)
您在哪里试图存储应用程序设置? Web.Config的appSettings部分不够用吗?
<appSettings>
<add key="someSetting" value="SomeValue"/>
</appSettings>
然后以这种方式阅读你的设置
ConfigurationManager.AppSettings["someSetting"]
答案 1 :(得分:2)
你有正确的想法,而你基本上就在那里。对于Web,配置设置存储在Web.Config
节点下的AppSettings
中。您可以使用ConfigurationManager.AppSettings
访问代码中的内容。以下是访问配置的可注入服务的示例实现。
public interface IPropertyService {
string ReadProperty(string key);
bool HasProperty(string key);
} // end interface IPropertyService
public class WebConfigurationPropertyService : IPropertyService {
public WebConfigurationPropertyService() {
} // end constructor
public virtual bool HasProperty(string key) {
return !String.IsNullOrWhiteSpace(key) && ConfigurationManager.AppSettings.AllKeys.Select((string x) => x).Contains(key);
} // end method HasProperty
public virtual string ReadProperty(string key) {
string returnValue = String.Empty;
if(this.HasProperty(key)) {
returnValue = ConfigurationManager.AppSettings[key];
} // end if
return returnValue;
} // end method ReadProperty
} // end class WebconfigurationPropertyService