[解決済み] 実行時にweb.configのappSettingsを変更するにはどうしたらいいですか?
質問
実行時に web.config の appSettings の値を変更する方法について、混乱しています。例えば、私はこのappSettingsセクションを持っています。
<appSettings>
<add key="productspagedesc" value="TODO: Edit this default message" />
<add key="servicespagedesc" value="TODO: Edit this default message" />
<add key="contactspagedesc" value="TODO: Edit this default message" />
<add key="aboutpagedesc" value="TODO: Edit this default message" />
<add key="homepagedesc" value="TODO: Edit this default message" />
</appSettings>
例えば、私は実行時に "homepagedesc" キーを変更したいとします。ConfigurationManagerとWebConfigurationManagerの静的クラスを試しましたが、設定は"read-only"です。実行時にappSettingsの値を変更するにはどうすればよいですか?
UPDATE。 OK、私は5年後にここにいます。私は経験から、意図的に実行時に編集可能な設定をweb.configファイルに入れるのではなく、ユーザーの1人が以下にコメントしたように、別のXMLファイルに入れるべきだと指摘したいと思います。これにより、アプリを再起動するために web.config ファイルを編集する必要がなくなり、その結果、怒ったユーザーがあなたに電話をかけてくるようになります。
どのように解決するのですか?
この場合
WebConfigurationManager.OpenWebConfiguration()
:
例として
Dim myConfiguration As Configuration = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~")
myConfiguration.ConnectionStrings.ConnectionStrings("myDatabaseName").ConnectionString = txtConnectionString.Text
myConfiguration.AppSettings.Settings.Item("myKey").Value = txtmyKey.Text
myConfiguration.Save()
を設定する必要があるかと思います。 許可場所 を machine.config で設定する必要があるかもしれません。これは、その要素を用いて個々のページを設定できるかどうかを示すブーリアン値です。"allowLocation"がfalseの場合、個々の要素で設定することはできません。
最後に、アプリケーションを IIS で実行し、Visual Studio からテスト サンプルを実行する場合、違いが生じます。ASP.NET プロセスの ID は、IIS アカウント、ASPNET または NETWORK SERVICES (IIS バージョンによる) です。
ASPNET または NETWORK SERVICES に web.config が存在するフォルダーの変更アクセスを許可する必要がある場合があります。
関連
-
ASP.NET学習でよくあるエラーのまとめ
-
ASP.NET Core MVC フィルタ
-
ASP.NET Core Web API チュートリアル プロジェクト構成図
-
ネットパフォーマンスチューニング - ArrayPool 詳細
-
403 - アクセス拒否。IIS7 でファイルを開くと、アクセス拒否されます。
-
Application_End イベントをブロックする解決策
-
[解決済み] HttpClientリクエストのContent-Typeヘッダーはどのように設定するのですか?
-
[解決済み] IIS 500.19 with 0x80070005 The requested page cannot be accessed because the related configuration data for the page is invalid error.
-
[解決済み】Web.configの変換でappSettingsセクションの属性値を変更する方法
-
[解決済み] パネルまたはPlaceHolderの使用
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
.netcoreプロジェクトでIStartupFilterを使用するためのチュートリアル
-
.NET複数データベース一括データ挿入、更新(SqlServer、MySql、PgSql、Oracleをサポートします。)
-
net core downlink tracking skywalking インストールと使いやすいチュートリアル
-
ASP.NET Core Web API チュートリアル プロジェクト構成図
-
非同期タスクキャンセルと監視のネット実装
-
一時的なクラスを生成できない(result=1)、問題の解決方法
-
[解決済み] ASP.NET MVCでビューをコンパイルする
-
[解決済み] [Solved] ASP.NET MS11-100: 投稿されたフォームの値の最大数の制限を変更するにはどうしたらいいですか?
-
[解決済み] フォーム認証のタイムアウトとsessionStateのタイムアウトの比較
-
[解決済み] FormsAuthentication.SignOut()がユーザーをログアウトしない