0

私は、2 つの異なるサーバー上の 2 つのデータベースのすべての参照をカプセル化しようとしているプロジェクトに取り組んでいます。これは、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 に答える