日期:2014-05-19  浏览次数:20442 次

分层的一个很傻的问题,大家来捡分
我在座一个项目的时候。把项目分为4层

BusinessEntity(业务实体层)
DataAccess(数据访问层)
BusinessLogic(业务逻辑层)
WebUI(表示层)

除了表示层,其他三层都是类库,现在问题来了,我的数据库是Access数据库,如果用一层的时候,我们可以在数据连接字符串里面用Server.MapPath()方法,获得数据库文件在服务器上的位置。。。但现在我把数据库放在数据访问层里,那一层却没有Server对象,请问各位大虾,告诉我一个解决的办法。。。。。

------解决方案--------------------
放在配置文件里
------解决方案--------------------
用sqlHelper或者写在web.config中

看看这里的三层是怎么写的就明白了

http://www.51aspx.com/Tags/2/
------解决方案--------------------
放在配置文件里,正解
------解决方案--------------------
System.Web.HttpContext.Current.Server.MapPath


类库的项目要引入system.web程序集
------解决方案--------------------
好象不一定要用绝对路径吧, 用相对路径也是可以的,我以前编客户端的时候也是用的相对路径,因为天知道用户会把你的软件安在哪儿.
------解决方案--------------------
web.config配置如下:

<connectionStrings>
<add name= "ConnectionString1 " connectionString= "Persist Security Info=False;User ID=sa;Password=;Initial Catalog=DataBase1;Server=(local); " providerName= "System.Data.SqlClient "/>
</connectionStrings>
------解决方案--------------------
数据库连接字符串是肯定要放在配置文件里的,不能写在类文件中。
在类里分层调用的时候,缺哪个类包,就using哪个。
------解决方案--------------------
System.Web.HttpContext.Current.Server.MapPath


类库的项目要引入system.web程序集

------解决方案--------------------
1. 在access 类库中引入 system.web程序集
2. 用配置文件放连接字符串
3. 配置文件放数据文件的路径
------解决方案--------------------
HttpContext.Current.Server.MapPath(ConfigurationSettings.AppSettings[ "accessconn "]);
config里配置,代码如上面,加类库的项目要引入system.web程序集

------解决方案--------------------
类库的项目 引入 System.Web 就可以了
------解决方案--------------------
System.Web.HttpContext.Current.Server.MapPath


类库的项目要引入system.web程序集
------解决方案--------------------
同意楼上,在其他项目中调用Response、Request、Server等对象的时候,可以通过System.Web.HttpContext.Current来访问这些对象。