0

我正在做一个项目,我们试图将两个数据库的所有引用封装在两个不同的服务器上。我们在 App_Code 内的“实用程序”文件中有这个:

 public static string myFirstDBName = System.Configuration.ConfigurationManager.AppSettings["firstDbName"];
        public static string mySecondDBName = System.Configuration.ConfigurationManager.AppSettings["secondDbName"];

我们可以在任何控制器中引用它没有问题。

但是,当我尝试在模型中引用它时,它看不到它 - 我尝试了 using 语句,但它不起作用。我希望将其从模型中提取出来并将其放入同一个实用程序文件中:

private readonly string _myFirstDBName = WebConfigurationManager.AppSettings["firstDBName"];
private readonly string _mySecondDBName = WebConfigurationManager.AppSettings["secondDBName"];

有人可以告诉我我是否遗漏了什么?或者我们应该把这个实用程序文件放在其他地方吗?提前致谢!

编辑:添加了我的 web.config 值以对应这个问题:

<appSettings>
    <add key="webpages:Version" value="1.0.0.0" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="firstDBName" value="db1" />
    <add key="secondDBName" value="db2" />
</appSettings>
4

1 回答 1

1

尝试 web.Config

<configuration>
      <connectionStrings>
            <add name="DBName" connectionString="Data Source=(local);Initial Catalog=DBName;User ID=uid;Password=pwrd;" providerName="System.Data.SqlClient" />
      </connectionStrings>
</configuration>

您还可以在 web.Config 中添加应用设置

  <appSettings>
    <add key="KEY" value="VALUE" />
  </appSettings>

关于评论的更新...

举这个例子

Model m = new Model();
m.prop = System.Configuration.ConfigurationManager.AppSettings["firstDBName"];
m.prop2 = System.Configuration.ConfigurationManager.AppSettings["secondDBName"];
return View("VIEWNAME", m);
于 2013-03-20T13:46:05.090 回答