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部分. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |