我的解决方案有两个项目。一个类库,用于通过存储库类从 Entity Framework .edmx 文件生成数据。App.Config 文件 connectionString 与我的第二个 ASP.Net 4.0 Web 表单项目中的 Web.config 匹配。
当部署到测试服务器时,我修改了 BOTH connectionStrings 以指向测试数据库 (DataSource=TestDB)。当部署到实时站点时,我将两者都修改为指向实时数据库(DataSource=LiveDB)。
在 Site.Master 的顶部,我在标签控件中以红色字母显示“您已连接到 TEST 数据库”。我有条件地切换标签的 .Visible 属性if (context.Connection.DataSource.Contains("TestDB"))
在开发过程中,我发现了一些奇怪的东西。当 Web.config 指向 TestDB 时,如果我忘记让 App.config 匹配(并且它指向 LiveDB),则会出现“已连接到 TEST”警告,但会显示来自 LiveDB 的数据。
这告诉我存储库(类库)使用 App.Config,但在 Web 表单项目中创建的数据上下文使用 Web.config 连接字符串。那是对的吗?我担心如果我部署到测试站点并忘记将 App.Config 指向 TestDB,实时数据将被错误地更新。
所以我的问题是,在这种情况下......显示始终准确的“连接到测试数据库”通知的最佳方式是什么?