我用的是ACCESS数据库,所有操作数据库的代码都集中在了一个类库里,数据库路径定义在Web.config文件里,但发现只能定义绝对的路径,在Web.config里不能使用任何涵数方法,我也想定义在那个类库里,但发现在类库里没有能用的方法取得网站所在物理路径,定义相对路径又是从系统目录(c:\winnt\system32)开始的.真是没办法了.不能定义绝对路径的,因为不知道虚拟主机的绝对路径就算知道能改一下,以后这个网站就没什么可移植性了...
以前用mssql数据库一直这样做,没想到用ACCESS数据库后会遇到这种问题.
总不能在每个调用页面加上取当前路径的代码吧............

解决方案 »

  1.   

    这样返回数据库路径就不怕移动了吧。
    public string GetDbPath
    {
    get
    {
    string Request.ApplicationPath;
    return Server.Mappath(appPath+ConfigurationSettings.AppSettings["DBPath"] );
    }
    }
      

  2.   

    在你的类库中using system.web...
    然后在类库中直接读取Server.Mappath(appPath+ConfigurationSettings.AppSettings["DBPath"]);
      

  3.   

    总是在页面发起请求的吧?页面不就可以取得网站所在物理路径了吗?当参数传进去啊。或则用AppDomain.CurrentDomain.BaseDirectory