.NET / LINQ-SQL / ASP.NET 中的连接字符串地狱

2024-02-10

我有一个网络应用程序,包含以下内容:

  • 一个 Web 项目(带有包含连接字符串的 web.config 文件 - 但 Web 项目中没有数据访问代码)
  • 使用 LINQ-SQL 类向 Web 项目 UI 提供实体的数据访问项目(该项目有一个设置文件和一个 app.config - 两者都有连接字符串)

当我构建和部署时,Bin 目录中没有带有数据访问 .dll 的设置文件或 app.config,但是更改 web.config 文件中的连接字符串不会相应地更改数据库 - 因此连接字符串必须被编译成数据访问dll。

我需要的是一个用于我的整个部署(网站、数据访问 dll 等所有内容)的配置文件,该文件具有一个可供使用的连接字符串。目前似乎有多个连接字符串在各处被使用或硬编码。

我该如何最好地解决这个混乱?

谢谢你的帮助。


我从来没有遇到过问题数据访问层(DAL)能够使用我的连接字符串web.config文件。通常我只是从 DAL 复制连接字符串部分并将其粘贴到web.config。我正在使用 DBML 设计器来创建数据上下文。

如果这对您不起作用,您可以在数据上下文构造函数中指定连接字符串。在您的 Web 项目中,有一个静态类来加载您的设置,包括连接字符串,并且当您创建 DAL 对象(或数据上下文,如果直接创建它)时,只需将其传递给构造函数即可。

public static class GlobalSettings
{
    private static string dalConnectionString;
    public static string DALConnectionString
    {
       get
       {
           if (dalConnectionString == null)
           {
              dalConnectionString = WebConfigurationManager
                                      .ConnectionStrings["DALConnectionString"]
                                        .ConnectionString;
           }
           return dalConnectionString;
       }
    }
}
...

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

.NET / LINQ-SQL / ASP.NET 中的连接字符串地狱 的相关文章

  • 如何发送电子邮件而不进入垃圾邮件

    MailAddress mailFrom new MailAddress email protected cdn cgi l email protection MailAddress mailTo new MailAddress email
  • C# 可以扩展数组吗?

    我习惯向 IEnumerable 等外部类添加方法 但是我们可以在 C 中扩展数组吗 我计划向数组添加一个方法 将其转换为 IEnumerable 即使它是多维的 不相关如何在 C 中扩展数组 https stackoverflow com
  • 如何获取我的应用程序已创建的应用程序域的列表?

    我有一个服务应用程序 它在长时间运行的任务的使用过程中创建AppDomain 我一直通过将它们存储在具有唯一 ID 的哈希表中来跟踪它们 任务完成后 服务应用程序会卸载分配给该任务的 AppDomain 然后将其从 appdomain 哈希
  • 如何使用 BoundFields 将 FooterTemplate 添加到 GridView

    希望您周末愉快 终于我有了一些编辑 删除事件器来与 LINQ 支持一起工作 我有一个添加记录事件 我知道它正在工作 但是在尝试了一部分之后 我不知道如何在页脚中添加一些文本框 所以它是从页眉到页脚的一行 没有向右或向左移动 有人可以帮助我吗
  • 将 .NET P/Invoke 代码组织为 Win32 API 的最佳实践

    我正在 NET 中重构一个大型且复杂的代码库 该代码库大量使用 P Invoke to Win32 API 该项目的结构不是最好的 我发现 DllImport 语句遍布各处 经常为同一函数重复 并且还以多种方式声明 导入指令和方法有时声明为
  • 服务具有零个应用程序(非基础设施)端点

    我最近创建了一个WCF服务 dll 和一个服务主机 exe 我知道我的 WCF 服务工作正常 因为我能够成功地将服务添加到 WcfTestClient 但是 当我从服务主机 exe 使用 WCF 时 我似乎遇到了问题 我可以将对 WCF d
  • 无法加载文件或程序集或其依赖项之一。访问被拒绝。该问题是随机的,但发生一次后,它会继续存在

    我发现了大量有关此错误的信息 错误 无法加载文件或程序集 dll 或其依赖项之一 访问被拒绝 但我还没有找到适合我的场景的答案 我的网站部署在 6 台不同的生产服务器上 只有一台服务器上我面临这个问题 这个问题是随机的 但发生一次后 它会一
  • ASP.Net 控件的 InnerHTML 和 InnerText 属性之间的区别?

    例如 在使用 ASP NET 控件时 h1 text h1 如果我们想更改标题的文本 我们可以通过两个属性来完成InnerHTML and InnerText 我想知道这两个属性之间的基本区别是什么 InnerHtml让您直接输入 HTML
  • 在 .NET 中使用 Settings.settings 文件时,配置实际存储在哪里?

    在 NET 中使用 Settings settings 文件时 配置实际存储在哪里 我想删除保存的设置以返回到默认状态 但找不到它的存储位置 有什么想法吗 这取决于您选择的设置是在 用户 范围还是 应用程序 范围 用户范围 用户范围设置存储
  • 使用 Linq to SQL 进行 NOLOCK

    是否有可能让 Linq2Sql 在其 SQL 中发出 NOLOCK 如果是这样 怎么办 是的 所以这是条目来自我的博客 http www madprops org blog linq to sql and nolock hints NOLO
  • 改变方法中的结构

    如何更改外部方法中的结构 public void ChangeStruct MyStruct myStruct myStruct field1 10 return 当我在该方法之后将结构传递给 ChangeStruct 方法时 我希望更改
  • WinApi:获取 COM 表单的控件名称

    我想用 Net 框架替换我当前的 UI 自动化工具 QTP 我需要测试 VB6 COM 应用程序 框架的基础之一是使用表单名称 到目前为止 我未能找到使用 Win API 获取这些数据的方法 该解决方案只有一个约束 即该解决方案必须依赖 N
  • 如何查找局域网中所有主机上正在运行的程序的所有实例?

    出于实际目的 SqlDataSourceEnumerator 的作用是查找在 LAN 上的各个 PC 上运行的 SQL Server 的所有实例 是否有等效的方法可以查找任意应用程序的运行实例 编辑 好的 所以这只有效 因为这些应用程序有预
  • 限制违反架构 - asp.net MVP

    如果我们在应用程序中定义了层次结构 对于前三层架构 我们如何限制后续开发人员违反规范 例如 在 MVP 不是 ASP NET MVC 架构的情况下 演示者应该始终绑定模型和视图 这有助于编写正确的单元测试程序 然而 我们也遇到过这样的情况
  • 计算按月分隔的两个日期之间的天数

    我需要计算两个日期之间的天数 DateTime 但有一个转折 我想知道这两天跨越的每个月有多少天 两个人有简单的方法吗 Example 我的开始日期是 30 03 2011 结束日期是 05 04 2011 那么结果应该是这样的 var r
  • 并行应用程序的可变与不可变[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在我正在编写的应用程序中 我需要编写大量基本类型 这些类型很可能是不可变的 但我想知道并行应用程序中可变类型与不可变类型的比较如何 您可以对可变
  • 在 javascript 中访问 ajax POST 响应

    我正在从 javascript 函数发出 ajax POST 请求 function UpdateMetrics ajax type POST url MyHandler ashx Param1 value1 data contentTyp
  • 如何根据 ASP.NET VNEXT MVC6 中给出的路径进行虚拟路由/重定向?

    我有一个网站 它在不同的路径上公开多个 API 每个 API 由特定于应用程序部分的控制器处理 例如example com Api Controller Action param1 stuff 其中控制器发生变化 但操作保持相当一致 我有几
  • Confuser .NET 混淆器。安全吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我目前正在开发一个应用程序 其中阻止用户反编译代码非常重要 现在 我意识到 如果由经验丰富的程序员执行 大多数 exe 都是可反编译的
  • DotNET 应用程序中的 GDI 句柄

    我的纯 DotNET 库作为非托管桌面应用程序中的插件运行 我收到了稳定的 虽然低 崩溃报告流 这些报告似乎表明 GDI 句柄存在问题 错误消息中的字体等 恢复为系统字体 各种控件的显示崩溃 不久后发生大规模崩溃 我的窗体几乎没有控件 但我

随机推荐

  • 通过 Excel 的 eDrawings API

    我正在尝试通过 Excel 使用 edrawings VBA api 我已经下载了 edrawings SDK 似乎 api 仅通过用户表单运行 我通过 Excel 为 SolidWorks 制作了一些 VBA 宏 但与 SolidWork
  • AWS S3 存储桶“404 未找到”

    目前我正在托管一个捆绑包Angular 2应用程序在AWS S3 bucket 所以它只包含 html and js files 绝对路径http example com 确实有效 但如果我切换到任何链接 例如http example co
  • 无法关闭 TCP_NODELAY

    我正在使用 Boost asio 发送 TCP 消息 我设置了 NO DELAY 选项 因为这是一个 实时 控制系统 我看到使用 Wireshark 在消息中设置了 PSH 标志 我对它的表现很满意 它正在按预期工作 出于兴趣 我决定关闭
  • 模拟输入:按键按下、按住和释放

    我试图模拟用户按下某个键 按住某个键一段特定的时间间隔 然后释放它 我尝试使用来实现这个SendKeys Send 但我不知道如何控制按键的持续时间 我不想一遍又一遍地发送相同的密钥 我想要一个按键按下和一个按键弹起事件 例如 我有这样的代
  • 在同一个 ios 项目中使用 2 个版本的 AFNetworking

    我有一个项目 我使用了 AFNetworking 2 0 不是可可豆荚 刚刚添加到项目中 然后 我实现了日历 MSCollectionViewCalendarLayout 它在 pod 中打包了一些依赖项 其中之一是 RestKit gt
  • 如何通过 aot 编译在 Angular 中提供备用 i18n 语言链接?

    我目前正在开发 Angular 应用程序的 i18n 我使用 AOT 编译 xlf 文件来创建预编译的应用程序 如下所述here https angular io docs ts latest cookbook i18n html 在构建中
  • jQuery $(document).ready 在 Iron/Chrome 中损坏

    我使用 jQuery 和 jFancyTiles 编写了一个小图像幻灯片 可以在此处看到 http www netzwerkag at http www netzwerkag at 它在 Firefox 和 IE 中按预期工作 但在 Iro
  • Google Chart:如何绘制条形图的垂直线

    我正在尝试添加一条垂直线 以便当元素超过该值时可以在视觉上有所区别 Thanks
  • DatePickerDialog标题背景颜色

    我已经为 DatePickerDialog 背景设置了样式 它在 Nexus 5 Marshmallow 上的显示有所不同 我使用的风格是
  • 将 Antlr 语法树转换为有用的对象

    我目前正在考虑如何最好地获取使用 Antlr 生成的 AST 并将其转换为可以在我的程序中使用的有用对象 我语法的目的 除了学习之外 是创建一种可执行 运行时解释 语言 例如 我将如何获取属性子树并实例化特定的属性类 例如 以下代码用我的语
  • 有没有办法将 bash 中的输出重定向到具有不同过滤器的不同位置?

    如果我有一个过程a out我可以 a out grep foo查看由 foo 过滤的 a out 的标准输出 我也可以说 a out 2 gt 1 grep foo查看 foo 过滤的 err 和 out 随着tee命令我可以将标准输出发送
  • 从另一个类访问私有方法

    我有两个存储库类 RepositoryFactory and BaseRepository 在同一项目中实现不同的接口 这BaseRepository类有一个私有方法 现在另一个类中也需要该方法 具有相同的实现 我没有重复该方法以保持其私有
  • 带小数的负数的Javascript正则表达式

    我想测试这个输入 可选的负号 2 位数字 可选的 和一个可选的数字 如下所示 34 or 34 5333 or 34 53333 or 34 in JavaScript 这是我想出来的 但行不通 d 2 d 1 有人可以帮帮我吗 试试这个正
  • 使用 PHP 进行实时视频流传输

    我有一个 PHP AJAX MYSQL 聊天应用程序 我想将视频聊天添加到我的应用程序中 如何在 PHP 应用程序中创建用于实时视频会议 聊天的实时视频流 如果我想构建这样一个系统 我需要了解哪些关键术语 首先使用 PHP 是个好主意吗 有
  • 缩略图淡入淡出

    这是缩略图的标记 ul li a href videos img class thumb src images background thumb1 jpg alt a li li a href images background ibiza
  • Rails:构建捆绑器 gemfile 的选项

    我有一个宝石 必须使用一些选项来构建它 gem install pg with pg include Library PostgreSQL 9 0 include with pg lib Library PostgreSQL 9 0 lib
  • 我们如何将结果数据从 CodeIgniter 控制器传递到 AngularJS 控制器?

    我们如何将结果数据从 CodeIgniter 控制器传递到 AngularJS 控制器 在使用 jsonSuccess 代码的 CodeIgniter 控制器中 我将数据传递给 AngularJS 但我想传递不同的 3 个变量 我需要如何传
  • 当且仅当类模板会实例化时,变量模板才是正确的?

    假设我有一个类模板 A 它具有一个类型模板参数和一个主要特化 template
  • 如何在 React Query 中将 debounce 与 useQuery 一起使用?

    我正在使用 React Query 从 React 应用程序中的 API 获取数据 我想实现去抖以获得更好的性能 但我无法让它与 useQuery 一起使用 当我尝试将 API 调用包装在去抖函数中时 收到一条错误消息 查询函数必须返回定义
  • .NET / LINQ-SQL / ASP.NET 中的连接字符串地狱

    我有一个网络应用程序 包含以下内容 一个 Web 项目 带有包含连接字符串的 web config 文件 但 Web 项目中没有数据访问代码 使用 LINQ SQL 类向 Web 项目 UI 提供实体的数据访问项目 该项目有一个设置文件和一