我已经使用单独项目中的公共(public)层设置了我的 VS 解决方案:表示层、业务层、实体层和数据访问层。我在 DAL 中有这个静态类 AppSettings
,我想在 Globla.asax.cs 的 Application_Start
调用它的 Load()
方法。它基本上从 web.config 加载我的应用程序设置。
我的问题是:我应该创建一个业务逻辑类来从我的表示层访问它,还是我可以直接从我的表示层访问我的 AppSettings 到数据访问层(忽略业务层)。
如果是这样,是否所有事情都一样?我必须始终通过业务层才能到达数据层吗?
public static class AppSettings
{
public static int ApplicationID { get; set; }
public static string ServiceEndpoint { get; set; }
public static string ServiceCode { get; set; }
public static string ConnectionString { get; set; }
public static void Load()
{
//Connection String
AppSettings.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["USpace"].ConnectionString;
//Applicatin Settings
AppSettings.ApplicationID = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["AppID"]);
AppSettings.ServiceEndpoint = (string)System.Configuration.ConfigurationManager.AppSettings["ServiceEndpoint"];
AppSettings.ServiceCode = (string)System.Configuration.ConfigurationManager.AppSettings["ServiceCode"];
}
}
如果我必须通过业务逻辑层,BLL 的类将如下所示?
public static class BLLAppSettings
{
public static int ApplicationID
{
get
{
AppSettings.ApplicationID
}
}
...
最佳答案
我建议始终通过业务逻辑层来访问数据层,以便业务逻辑层中内置的所有安全措施都能发挥作用。您是否希望在没有业务层的情况下使用数据层?
关于c# - 总是遍历业务层到达数据层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9019430/