.net - 无法在 C# web.config 中创建连接字符串

标签 .net web-config

我正在维护一个不是我用 ASP.NET 构建的网站。
它是用 C#.NET 构建的

该站点使用名为 MegaTecDAL.dll
的 DLL 访问数据库 (注意:我没有这个dll的代码,只有dll和PDB)

最近,我们需要将站点移动到具有另一个数据库的另一台服务器,因此需要更改数据库的连接字符串。 我认为这应该很简单!
我没有在 web.config 或任何地方找到连接字符串,

我反编译了数据访问层MegaTecDAL.DLL以获取连接字符串的读取位置,并发现以下内容(注意:getzConnectionString)

namespace MegaTecDal.Properties
{
  [CompilerGenerated]
  [GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
  internal sealed class Settings : ApplicationSettingsBase
  {
    private static Settings defaultInstance = (Settings) SettingsBase.Synchronized((SettingsBase) new Settings());

    public static Settings Default
    {
      get
      {
        Settings settings = Settings.defaultInstance;
        return settings;
      }
    }

    [DefaultSettingValue("Data Source=old.server.address.com;Initial Catalog=getz;User ID=aUserName;Password=StrongPassword")]
    [ApplicationScopedSetting]
    [SpecialSetting(SpecialSetting.ConnectionString)]
    [DebuggerNonUserCode]
    public string getzConnectionString
    {
      get
      {
        return (string) this["getzConnectionString"];
      }
    }

    static Settings()
    {
    }
  }
}

我意识到,连接字符串取自默认值。
但我似乎找不到如何指定新值。

我尝试过:

添加到web.config

<connectionStrings>
    <add name="getzConnectionString" connectionString="Data Source=new.server.com;Initial Catalog=getz;User ID=aUserName;Password=StrongPassword" providerName="System.Data.SqlClient" />
</connectionStrings>

还尝试添加到web.config

<appSettings>
    <add key="getzConnectionString" value="Data Source=new.server.com;Initial Catalog=getz;User ID=aUserName;Password=StrongPassword"/>
</appSettings>

尝试使用上述部分创建一个名为 MegaTecDAL.dll.config 的文件,并将其放入 BIN/App_Data/App_Code 和根文件夹中,但仍然调用默认连接字符串。

还尝试添加节组和节 http://msdn.microsoft.com/en-us/library/8eyb2ct1.aspx

无论我把它放在哪里,它都不起作用。

最佳答案

我认为您需要包含要配置的 ConnectionString 的命名空间:

<connectionStrings>
  <add name="MegaTecDal.Properties.Settings.getzConnectionString" 
       connectionString="yourNewConnectionString"
       providerName="System.Data.SqlClient"  />
</connectionStrings>

关于.net - 无法在 C# web.config 中创建连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17993029/

相关文章:

visual-studio-2015 - 发布Web项目时,为什么我的web.config文件中包含ProjectGuid?

c# - 使用 Visual Studio 创建链接安装

c# - 与异步/等待 C# 作斗争

asp.net - 如何为 ASP.Net 创建准系统 HttpApplication(没有 Webforms 或 MVC)

asp.net - 在哪里存储应用程序设置?

c# - 已成功与服务器建立连接,但在登录前握手期间发生错误。 (无法更改 SQL Server)

c# - Web.Config 中的通用处理程序注册

c# - asp.net多线程页面

c# - 使用 Type 对象将 Object 类型的对象转换为另一种类型

C# Prism导航问题