[解決済み] App.config: ユーザースコープとアプリケーションスコープ
質問
プロジェクトにApp.configファイルを追加しました。 プロジェクト&プロパティ&設定パネルから、2つの設定を作成しました。
私は、設定を追加するときに、スコープを次のように定義できることに気づきました。
User
または
Application
. -
- ユーザー
- アプリケーション
もし私が設定を
User
とすると
userSettings
セクションに移動します。
として定義すると
Application
になります。
applicationSettings
セクション
App.config
<configuration>
<userSettings>
<DemoApp.Properties.Settings>
<setting name="MySetting1" serializeAs="String">
<value>Value1</value>
</setting>
</DemoApp.Properties.Settings>
</userSettings>
<applicationSettings>
<DemoApp.Properties.Settings>
<setting name="MySetting2" serializeAs="String">
<value>Value2</value>
</setting>
</DemoApp.Properties.Settings>
</applicationSettings>
</configuration>
しかし、これらの設定は、同じように
.cs
-
コード
string mySetting1 = DemoApp.Properties.Settings.Default.MySetting1;
string mySetting2 = DemoApp.Properties.Settings.Default.MySetting2;
の違いは何ですか?
User
と
Application
の2つのスコープがあり、どのような状況でこの2つを選択すべきなのでしょうか?
どのように解決するのですか?
基本的に、アプリケーションの設定はプログラムの実行中に変更することはできませんが、ユーザーの設定は変更することができます。 これらのユーザー設定は、ユーザーが次にアプリケーションを実行するときに使い慣れたエクスペリエンスを提供できるように、保存しておく必要があります。
編集する 例として、異なるモジュールでアプリケーションを書き、メインモジュールがセキュリティモジュールの正しいバージョンを使用していることを確認する必要があるかもしれません。 このために、たとえば、アプリケーションスコープの設定を行うでしょう。
SecurityModuleVersion string Application v1.21
後でセキュリティモジュールをリファクタリングするときに、いつか。 あなたは を v1.22 に変更し、正しいセキュリティが実装されていることを確認することができます。
一方、アプリケーションが色の変更やフォントの変更など、異なる「スキン」を持っている場合、次のようなユーザー設定を行うことができます。
ApplicationSkin string User DefaultSkin
そして、Michelleが好みのスキンに変更すると、アプリケーションは以下を記憶しています。 彼女の の設定を記憶します。 プロパティは今、次のように見えるかもしれません。
ApplicationSkin string User HelloKittySkin
関連
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み】C# ASP.NET使用時に「WebClientのリクエスト中に例外が発生しました。
-
[解決済み】バックスラッシュを含むパス文字列のエスケープシーケンスが認識されない件
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】「...は'型'であり、与えられたコンテキストでは有効ではありません」を解決するにはどうすればよいですか?(C#)
-
[解決済み] 関数を終了するには?
-
[解決済み] .NETコンソールアプリケーションでアプリケーションのパスを取得するにはどうすればよいですか?
-
[解決済み] .NETでapp.configやweb.configから設定を読み込む
-
[解決済み] Windowsフォームアプリケーションで、アプリケーションの設定を保存するにはどうすればよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み】C#で四捨五入する方法
-
[解決済み】Socket.Selectがエラー "An operation was attempted on something that is not a socket" を返す。
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】C#のequal to演算子でtextとvarcharのデータ型は互換性がない
-
[解決済み] ...基礎となる接続は閉じられました。予期しないエラーが受信で発生しました
-
[解決済み】 C# 条件演算子エラー 代入、call、increment、decrement、await、new object 式のみ文として使用可能です。
-
[解決済み】プロセスが実行されているかどうかを知るには?
-
[解決済み】Nullableオブジェクトは値を持たなければならない?
-
[解決済み] .NETでSettings.settingsファイルを使用する場合、実際にコンフィグはどこに保存されるのでしょうか?