1

単体テストを実行するために DLL を呼び出す Web アプリケーションを作成しています。接続を実行し、メイン DLL を参照する SQL へのクエリを実行する別の DLL(DataAccessLayer) もあります。どちらの DLL も同じ構成ファイルを使用して設定を読み取ります。

VS からアプリケーションを実行すると、アプリケーションは正常に動作します。ただし、Web アプリが IIS にデプロイされると、DLL が構成ファイルから設定を読み取ることができないようです。

いくつかの調査の結果、web.config ファイルで構成要素を明示的に定義する必要があるかもしれないことがわかりましたが、これを実装する方法がわかりません。誰かが私を正しい方向に向けることができますか?

私は実際に次のコードで ConfigurationManager を使用して設定を取得しています:-

   public string GetValue(string key)
   {
       var appConfig = ConfigurationManager.OpenExeConfiguration("path to dll");
       strKeyValue = appConfig.AppSettings.Settings[key].Value;



       return strKeyValue;
   }

ありがとう。

4

4 に答える 4

6

WebConfigurationManager.AppSettings["HelloWorldKey"];web.config から AppSettings を読み取るために使用します。

于 2013-01-09T12:45:40.427 に答える
0

次のコードを使用して、接続文字列にアクセスします

string filePath= WebConfigurationManager.AppSettings["Pathfile"].ToString();

Web 構成ファイル

<configuration>
       ....
     <appSettings>
       <add key="Pathfile" value="Path to dll"/>
     </appSettings>
    ....
</configuration>
于 2013-01-09T13:14:42.580 に答える
0

app.configで使用されているconnectionstringorを web.config に追加します。これは手動のタスクであると理解していますが、config が設定を読み取る唯一の方法です。AppSettingApplicationSettings

于 2013-01-09T13:20:14.233 に答える
0

アプリをデプロイする前に、言及した DLL によって使用されるすべての appSettings 値を web.config で直接設定するだけです。実行時にこれを変更する必要はありません (web.config を変更するとアプリケーションが再起動するため、変更する必要はありません)。

于 2013-01-09T13:10:07.410 に答える