0

AppSettingsとデータベースConnectionStringsを持つc#webformアプリケーションが別々のファイルに構成されています。winformコマンドライン引数に基づいてAppSettingsとConnectionStringをオーバーライドする

<appSettings configSource="Customisations/AppSettings.config" /> 

エンドユーザーが異なるデータベースに接続し、使用するアプリのショートカットに基づいて異なるアプリ設定を使用するように要求されました。

私は、エンドユーザが以下のような引数をアプリケーションのショートカットのターゲット行に追加することでconfigSourceを効果的に上書きできるようにしたいと考えていました。

MYAPP.EXEのappSettings = '\\ UNCパス\ APP-設定-test.config'

これは可能でしょうか?セキュリティに関する懸念事項がありますか?つまり、UACですか?

ok ... AppSettingsとConnectionStringsをこれらのオーバーライドされた場所から読み込み、現在の設定ファイルをそのままにするにはどうすればよいですか?

答えて

0

設定ファイル(パスを含む)を文字列[] argsに渡し、設定ファイルを開く前にそれを読むことをお勧めします。しかし、セキュリティ面に関しては、特定の構文などをチェックする必要があります。パスに ";"または ")"などとすることもできます。また、regexpを使って、指定されたパスの構造が正しいかどうかを調べることもできます。 とにかく、Google(またはこのフォーラム... Googleはあなたにここであなたを導きます;))をstring [] argsに検索します。

+0

ルネありがとう、私は引数を渡す方法を知っています - 実行時にConfigurationManagerのConfigSectionのConfigSourceをオーバーライドすることができるかどうかを尋ねています...謝罪していない場合 – Drammy

+0

ああ、OKです。申し訳ありません - 疑問を誤解しました。この場合、 "AppDomain.CurrentDomain.SetData"を試してみてください - これは設定ファイルのepathを設定するのに役立つべきです(SHOULD)。私はこの文をStackOverflowのどこかで見つけたときに同様の問題を探しました。 – Tyron78

+0

ここに私が意味するポストです:http://stackoverflow.com/questions/1838619/relocating-app-config-file-to-a-custom-path – Tyron78

関連する問題