在我的asp.net项目中,目前我有两个子文件夹(BLL,DAL)中的业务逻辑和数据访问代码,这两个子文件夹本身位于网站项目的app_code文件夹中。我需要将它们分成两个独立的项目(一个用于业务层的项目和一个用于数据访问代码的项目)。
如何维护当前位于web.config文件中的数据访问项目所需的连接字符串?(即如果我选择类库模板来创建DAL和BLL项目)
如何维护当前在BLL,DAL代码文件中使用的各种其他web.config键值?
如何部署已编译的项目? (即网站项目我目前正在将bin文件夹部署到Staging>生产但这种方式我应该把DAL.dll和BLL.dll和相关的配置文件放在哪里)
答案 0 :(得分:1)
1和2)添加'using System.Configuration'并引用它们。自从他们在项目中引用,asp.net就会把它拿起来。
例如:
using System.Configuration;
namespace DataLayer
{
public class BaseDataAccess
{
public static string ConnectionString_Logging
{
get
{
return ConfigurationManager.ConnectionStrings["ConnectionString_Logging_Legacy"].ToString();
}
}
}
}
3)如果正确引用,在编译时,您的BLL和DAL dll将位于main / ui项目的bin文件夹中。如果使用web.config,你很高兴。
答案 1 :(得分:0)
从根本上说,您应该在整个过程中将这些配置位包装在对象中。但无论如何,你可以毫不担心地将它们移动到另一个类项目 - 它将从它所托管的任何项目中获取配置设置,因此你不需要以某种方式为你的库提供配置。 / p>
答案 2 :(得分:0)
现有代码应该有效,因为设置是从正在运行的进程的Config文件中读取的,在这种情况下是Web.Config
,但我建议您使用custom configuration settings,这些将从您的Web.Config
文件,典型的实现可能类似于:
<YourCompany>
<YourCompany.ProjectName>
<Data ConnectionName="NameOfConnectionToUse" SomethingElse="XZY" />
<Business SomeValue="12345" />
</YourCompany.ProjectName>
</YourCompany>
答案 3 :(得分:0)
如果没有进入理想的设置/自定义配置等,在运行时,您的类库将从web.config中获取配置,如果从这些层中引用而没有任何更改。 System.Configuration.AppSettings / ConnectionStrings仍然有效。