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

2024-06-18

我的解决方案有一个带有数据库(我的 DAL)的类库项目,以及一个充当 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 文件夹的绝对引用?

<Rant>难道 Visual Studio 2010 不应该足够智能来实现项目类型,而不是将数据库从引用的程序集中拉到 bin 文件夹中,而是使用 App_Data 文件夹吗?</Rant>


在您的网络项目中,您应该能够通过执行以下操作找到路径:

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

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

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

我意识到这回答了你问题的 B 部分,但没有回答 A 部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Web 项目连接字符串中正确设置 DataDirectory? 的相关文章

  • VS2015 代码覆盖率不适用于 ASP.NET Core 1.0(以前称为 ASP.NET 5)中的测试

    我有一个 ASP NET Core 1 0 以前称为 ASP NET 5 解决方案 其中包含几个类库 包 和一个 ASP NET MVC6 项目 我有一个使用支持 Core 1 0 的新 XUnit 2 0 的测试库 然而 由于某种原因 当
  • 为什么这个 IA32 汇编代码有 3 个 leaal 指令?

    我编译了这个C函数 int calc int x int y int z return x 3 y 19 z 我在 calc s 中得到了这个 我正在注释正在发生的事情 file calc c text globl calc type ca
  • 如何获取网络服务的状态

    如何使用 C 获取 Web 服务的状态 无论是成功完成 失败还是待处理 private void button1 Click object sender EventArgs e var url servicsURL try var myRe
  • 在 C# 中格式化 Resharper 属性的支持字段

    有没有办法控制 Resharper 放置其支持字段的位置 目前 它试图让他们在班级中名列前茅 我希望他们能去到酒店的正上方 还没有
  • 委托 System.Action 不接受 1 个参数

    那个行动 readonly Action execute public RelayCommand Action execute this execute null public RelayCommand Action execute Fun
  • 带有成员 (operator[]) 函数的 invoke_result

    如何为成员函数正确调用invoke result 或者专门用于运算符成员函数 我试过std invoke result
  • 具有 Nhibernate 设计问题的领域模型

    我正在尝试进入 DDD with C 世界 我使用NHibernate作为我的ORM工具 因此尝试开发一个PI Persistence Ignorance 模型 但是 在我的一些实体 表示为 POCOS 中 我的属性设置器中有业务规则 例如
  • C#:如何计算纵横比

    我对编程比较陌生 我需要根据给定尺寸 例如 axb 计算纵横比 16 9 或 4 3 我如何使用 C 来实现这一点 任何帮助将不胜感激 public string AspectRatio int x int y code am lookin
  • 清除指针向量[重复]

    这个问题在这里已经有答案了 假设我定义了一个这样的类 class foo private std vector lt int gt v public void bar1 for int i 0 i lt 10 i int a new int
  • 对指针列表进行排序

    我再次发现自己在 C 中的一些非常简单的任务上失败了 有时我希望我能从 Java 中的 OO 中学到所有知识 因为我的问题通常是从像 Java 一样思考开始的 无论如何 我有一个std list
  • “双免”是什么意思?

    正如标题所暗示的那样 我是 C 语言的新手 并且很快就会有期中考试 我目前正在修改过去的论文 一个反复出现的主题是双重自由问题 我理解就是调用的过程free 在同一个内存位置两次 但我有几个问题我不能 100 确定如何回答 问题1 C中双重
  • 在 Visual Studio 2017 mac 上安装扩展 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试在 Visual Studio for Mac 上安装 Visual Studio Marketplace 扩展 但是 Vi
  • 静态成员函数中的封闭类的 C++ 类型

    我认为这是完全不可能的 但如果呢 在任何版本的 C 中 是否有可能以某种方式获取静态成员函数中封闭类的类型 class Impossible public static void Fun typedef Impossible Enclosi
  • WiX 安装程序在 vs 2012 上不起作用

    我想为我的应用程序创建一个安装程序 我已经下载了 WiX 3 6 并将其安装在 vs 2012 上 创建简单的winform应用程序 将 WiX 安装项目添加到我的解决方案中 右键单击参考并将我的 winform 应用程序添加到安装程序的参
  • COM Interop 挂起会冻结整个 COM 系统。如何取消COM调用

    我正在使用通过 COM Interop 包装器公开的第三方 dll 然而 其中一个 COM 调用经常冻结 至少不会返回 为了至少让我的代码更加健壮 我异步包装了调用 getDeviceInfoWaiter is a ManualResetE
  • 如何在mvc视图中的表中显示数据库数据

    在我的 MVC 应用程序中 我从数据库检索数据 我想在表格中显示退役数据 控制器代码 public ActionResult MyAccount var user User Identity Name string sThumbnails
  • Web API 2 c# 中的 Google reCaptcha

    我有一个 ASP NET Web API 2 项目 我正在尝试从表单中读取 Google Captcha 我尝试了这段代码 public string Post FoundingRequest model var response Requ
  • Cmake:在自定义目录中查找 protobuf 包

    我有 cmake 3 10 x 并下载了当前的 protobuf 源 3 6 1 使用 cmake 我创建了 bin 目录 PROTOBUF SOURCE DIR bin 在其中成功构建了该库 下一步我想在我的基于 cmake 的项目中使用
  • 在方法签名中使用 new 关键字通常只是为了可读性吗?

    我读过关于new关键词在方法签名中并看到了下面的例子this https stackoverflow com questions 1014295 c sharp new keyword in method signature发帖了 但还是不
  • 找出用户属于哪些组

    我有一个刚刚创建的 Windows 用户帐户 以 XYZ 为例 此 XYZ 属于我在计算机管理 gt 本地用户和组中创建的用户组和自定义组 因此 在属性中我看到该用户属于 2 个组 现在我想获取这些组并显示它们 有什么建议么 我已经这样做了

随机推荐

  • fetch().then() 返回内容类型和正文[重复]

    这个问题在这里已经有答案了 互联网上的每个 fetch API 示例都展示了如何使用 response json response blob 等仅返回正文 我需要的是调用一个将内容类型和主体都作为 blob 的函数 但我不知道该怎么做 fe
  • 该操作对于事务状态无效

    我有一个TransactionScope 堵塞 它总是卡在插入语句中 它在活动监视器中显示为阻塞任务 因此它阻塞 SQL 服务器 并且在超时后 我收到此错误 该操作对于事务的状态无效 出了什么问题 const TransactionScop
  • GPU 上的张量流:尽管 cuda 的 deviceQuery 返回“PASS”结果,但没有已知设备

    注 这个问题最初是在github上问的 https github com tensorflow tensorflow issues 7648 issuecomment 280866214 但被要求改为在这里 我在 GPU 上运行 Tenso
  • 如何让最后一个字母闪烁?

    我最近创建了这个程序来显示字符串的最后一个字母 使用此代码 include
  • C 中的浮点运算是否具有结合律?

    加法在数学上具有结合律 a b c a b c 在一般情况下 此属性不适用于浮点数 因为它们表示有限精度的值 作为优化的一部分 从 C 程序生成机器代码时 编译器是否允许进行上述替换 C标准中到底在哪里说的 不允许编译器执行 优化 这将导致
  • MSBuild 编译解决方案时找不到 SGen

    我在这里查看了其他几个与 SGen 相关的问题 要么他们的答案不适用 要么他们的答案不能为我解决这个问题 我安装了几个 SDK 来解决这个问题 但没有成功 不应更改引用类型 因为这是唯一出现问题的地方 一次建议是将 SGen exe 放入C
  • 如何改变div的值[重复]

    这个问题在这里已经有答案了 div this is div a div div this is div b div 现在我怎样才能改变文本div通过单击按钮动态地进行 这里还提到所有文本都来自数据库 当我单击按钮时它会检测到divid 并将
  • 在 @font-face CSS 规则中正确定义 font-family

    我最近遇到了 font familyCSS 规则 因为我想在我的网站上使用网络字体 言归正传 我在 font family CSS 代码中看到了两种变体 如下所示 font face font family Droid Serif NOTE
  • 关于在 Objective-C 中迭代 2 个数组的简单问题

    我正在 Objective c 中迭代 NSArray for id object in array1 我现在有另一个 array2 我需要使用当前 array1 的相同索引进行访问 我应该使用另一个 for 语句吗 thanks 您有多种
  • 这些用简单的java代码创建的JVM守护线程是什么?

    我有一个非常简单的java应用程序 它只是创建一个对象 调用它的一个函数 所有这些都在一个无限循环中 public class h public static void main String args while true B b new
  • WPF ListView/Gridview 允许用户选择多个项目并将它们分组在一起

    我在 MVVM 应用程序中有一个 WPF ListView GridViwe GridView 绑定到 ViewModel 中的列表 要求是用户应该能够选择网格视图的多行 右键单击它并看到上下文菜单 将这些行组合在一起 选择后 所有这些项目
  • 如何将目录添加到 Clojure 的类路径?

    我已使用 Maven 将库安装到 m2 repository 目录中 我想将该路径添加到默认的 Clojure 类路径中 我找不到如何执行此操作的文档 有什么提示吗 Cheers clj Clojure 1 4 0 user gt requ
  • Yii 框架中的图像链接

    朋友们大家好 我是 YII 的新手 我有一个形象 在 Yii 中调用该图像后 其代码如下 img class deals product image src alt 一般来说 html 是这样的 img alt women jackets
  • 如何在收到电子邮件时实时解析电子邮件

    我需要构建一个电子邮件解析脚本 该脚本将解析进入收件箱的电子邮件并将内容转储到数据库中 同时发出包含从电子邮件解析的详细信息的curl 请求 目前 我非常专注于实现如何在收件箱中收到电子邮件时实时解析电子邮件的部分 有没有办法设置触发器来执
  • PHP 数组 - 如何将数组转换为对象? [复制]

    这个问题在这里已经有答案了 我对 PHP 还很陌生 所以请耐心等待 所以我收到这个错误 注意 尝试在此行获取非对象的属性 echo tr td row gt last name td td row gt first name td td r
  • MultipartEntity 中使用 FileBody 进行 UTF-8 编码

    我想在 FileBody 中发送文件时设置 UTF 8 编码 就像在 StringBuilder 中那样 我这样做 restClient AddEntity body new StringBody body Charset forName
  • 在centos中安装sqlite3 dev和其他包

    我正在尝试使用 cpanel 在 centos 机器上安装 sqlite dev 和其他库 以便能够编译应用程序 我对 debian 比 centos 更熟悉 我知道我需要的库是 libsqlite3 dev libkrb5 dev lib
  • 扩展文件的 Crc 错误

    上传和下载扩展文件成功Apk外部数据 Android扩展 https stackoverflow com questions 10327532 apk external data android expansion 但现在我面临着CRC解压
  • Grails - 在 CLASSPATH 中找不到类“org.grails.tomcat.TomcatLoader”

    grails run app目前 Eclipse 内部为我的 Google App Engine Grails 测试应用程序提供了以下例外情况 Enhancing JDO classes enhance DataNucleus Enhanc
  • 如何在 Web 项目连接字符串中正确设置 DataDirectory?

    我的解决方案有一个带有数据库 我的 DAL 的类库项目 以及一个充当 WCF 服务层的 Web 项目 我从Web项目添加对DAL项目的引用 当我编译时 我的数据库被复制到Web项目的Bin文件夹中 Web config 文件需要连接字符串