加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何在Web项目连接字符串中正确设置DataDirectory?

发布时间:2020-12-15 21:20:50 所属栏目:百科 来源:网络整理
导读:我的解决方案有一个带有数据库(我的DAL)的类lib项目,以及一个充当WCF服务层的Web项目. 我从Web项目添加对DAL项目的引用,当我编译时,我的数据库被复制到Web项目的Bin文件夹中. Web.config文件需要连接字符串.如果我使用: attachdbfilename=|DataDirectory|T
我的解决方案有一个带有数据库(我的DAL)的类lib项目,以及一个充当WCF服务层的Web项目.

我从Web项目添加对DAL项目的引用,当我编译时,我的数据库被复制到Web项目的Bin文件夹中.

Web.config文件需要连接字符串.如果我使用:

attachdbfilename=|DataDirectory|Test.mdf

它在App_Data文件夹中查找数据库.

我可以轻松地将数据库的副本放在App_Data文件夹中,但是,在开发的这个阶段我经常更改模式(通过DAL中的副本),并希望项目将拾取的版本复制到WCF图层bin文件夹.

我知道我可以改变默认的DataDirecty:

AppDomain.CurrentDomain.SetData("DataDirectory",path);

A)不使用硬编码的绝对路径,是否有更好的方法来使连接字符串使用bin文件夹?

B)如果我确实更改了默认的DataDirectory设置,我如何以编程方式获取bin文件夹的绝对引用?

<咆哮> Visual Studio 2010不应该足够聪明地实现项目类型,而不是将DB从引用的程序集中拉到bin文件夹中,而是使用App_Data文件夹吗? < /咆哮>

解决方法

在您的Web项目中,您应该能够通过以下方式找到路径:

string path = Server.MapPath("~/bin/Test.mdf");

然后,您可以在Global.ascx.cs中的Application_Start中设置路径

AppDomain.CurrentDomain.SetData("DataDirectory",path);

我意识到这回答了你问题的B部分而不是A部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读