SettingsProvider类 - 它应该在DAL还是BLL项目中?

时间:2015-06-22 11:18:54

标签: c# data-access-layer bll

我的应用层有:Web,DAL和BLL。

我应该在哪里放置SettingsProvider类(从web.config获取值)?我认为它应该在DAL项目中。我是对的吗?

public class SettingsProvider : ISettingsProvider
{
    public string UploadImagesPath
    {
        get { return ConfigurationManager.AppSettings["UploadImagesPath"]; }
    }

    ..............
}

2 个答案:

答案 0 :(得分:1)

我不同意,因为您根据提供的密钥从配置文件中读取值,所以您可以放置​​该类,并且可能需要一个或所有的图层。对于使用此类的所有图层,您还可以设置一个常见的类库项目,并在需要它的图层中引用它。

答案 1 :(得分:0)

由于设置特定于Web应用程序(因为它们是在Web.config中定义的),我认为您应该将它放在Web应用程序中,并以适当的方式将它们“发送”到BLL或DAL。既然你已经定义了一个ISettingsProvider接口,你可以使用一些IoC容器并在Web的bootstrap方法上注册这个接口(或者像那样)。或者只是将您的ISettingsProvider(可能是静态变量)arround从Web应用程序发送到DAL和BLL。