【问题标题】:Multiple connection strings in .Net.Net 中的多个连接字符串
【发布时间】:2021-07-03 22:14:35
【问题描述】:

我们最近用两个连接字符串(比如 MainConnectionString 和 ReportConnectionString)对我们的生产站点进行了试验,第一个用于 Database1,另一个用于 Database2。数据库和应用程序都在 Azure 云中。 Database2 只是 Database1 的复制。如果所有报告都使用 ReportConnectionString 中指定的数据库的复制副本,我们进行了此实验以查看任何性能改进。不幸的是,我们无法从这个实验中获得任何收益,而且保持复制数据库的成本很高。

我们现在正在删除 Database2,只保留 Database1 用于生产环境。

我的查询是,与其更改代码以从所有报告中提取 ReportConnectionString 的使用,不如保留 ReportConnectionString 并更改连接字符串以连接到 Database1。因此,两个连接字符串都将查看同一个数据库。这有什么后果。只是想避免修改报告代码以使用 MainConnectionString 的开销

【问题讨论】:

  • 您的代码中是否有一个开关来确定何时使用 MainConnectionString 或 ReportConnectionString?
  • 没有。我们手动将每个报表数据集的连接字符串更改为 ReportConnectionString 以开始实验。将此恢复到原始状态可能会占用程序员资源。我一直在寻找在 webconfig.xml 中更改它的快捷方式。感谢您的询问伊万
  • 在azure中,我们通常在Application settings中设置connection string而不是.config file。如果您将它们保存在应用程序设置中,那么您可以在那里定义 2 个连接字符串,并根据您的需要动态读取值。

标签: .net asp.net-mvc azure performance connection-string


【解决方案1】:

取决于使用该字符串的连接。

基本上,我们的 ERP 系统包含多个连接字符串,而且效果非常好。所以基本上你是最了解你的代码的人。如果您在ReportConnectionString 生成报告后关闭连接,您将不会遇到问题,即使是垃圾或连接池限制也不会出现问题。

【讨论】:

  • 是的,我想连接是由编码的性质隐式关闭的。因此,两个连接字符串切换同一个数据库根本不是问题,这是一个好消息:-) 稍后我们将扩展我们的设计以构建一个非规范化的报告数据库,并且报告应用程序代码中的第二个连接字符串届时将变得很方便.无论如何感谢您的回答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-04
  • 2010-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多