我的应用层有:Web,DAL和BLL。
我应该在哪里放置SettingsProvider类(从web.config获取值)?我认为它应该在DAL项目中。我是对的吗?
public class SettingsProvider : ISettingsProvider
{
public string UploadImagesPath
{
get { return ConfigurationManager.AppSettings["UploadImagesPath"]; }
}
..............
}
答案 0 :(得分:1)
我不同意,因为您根据提供的密钥从配置文件中读取值,所以您可以放置该类,并且可能需要一个或所有的图层。对于使用此类的所有图层,您还可以设置一个常见的类库项目,并在需要它的图层中引用它。
答案 1 :(得分:0)
由于设置特定于Web应用程序(因为它们是在Web.config中定义的),我认为您应该将它放在Web应用程序中,并以适当的方式将它们“发送”到BLL或DAL。既然你已经定义了一个ISettingsProvider接口,你可以使用一些IoC容器并在Web的bootstrap方法上注册这个接口(或者像那样)。或者只是将您的ISettingsProvider(可能是静态变量)arround从Web应用程序发送到DAL和BLL。