.NET v2のdll、ASP.net Webサイトなどの.Net設定のさまざまな設定オプションは本当に混乱しています。特に、UI /終了時に設定ファイルの影響を考慮する場合チェーンのユーザ側。ヘルプ.Net設定オプションを理解する
ので、例えば、私たちが使用してアクセス使用の設定で動作するアプリケーションのいくつか:メンバーがstongly型付けされているので
string blah = AppLib.Properties.Settings.Default.TemplatePath;
は今、このオプションはクールなようだ、と私はできませんVisual Studio 2005 IDEに存在しないプロパティ名を入力します。私たちが生きてボックスにデバッグDLLを解放し、誰かが内蔵されている可能性が、第二の設定がない場合(
<connectionStrings>
<add name="AppConnectionString" connectionString="XXXX" />
<add name="AppLib.Properties.Settings.AppConnectionString" connectionString="XXXX" />
</connectionStrings>
:私たちは、コマンドライン実行可能なプロジェクトのApp.configファイルで、このような行で終わりますそれに埋め込まれたデバッグ接続文字列を使用して - EEK)
我々はまた、このようにアクセス設定をしている:我々はDLLコード、またはexeファイルからの設定にアクセスすることができますので、
string blah = System.Configuration.ConfigurationManager.AppSettings["TemplatePath_PDF"];
は今、これらは/クールに見えますaspxコード、およびWebまたはApp.configで必要なのは次のとおりです。
<appSettings>
<add key="TemplatePath_PDF" value="xxx"/>
</appSettings>
ただし、設定ファイルに値が設定されていないか、文字列名が間違っている可能性があります。そのため、さまざまな問題があります。
だから私の理解が正しいならば、前者の方法は強いタイピングを提供するが、dllと他のプロジェクトとの間の値の共有は悪い。後者はより良い共有を提供しますが、弱いタイピングです。
私は何かが欠けているように感じる。現時点では、設定ファイル、暗号化などに値を書き戻すことができるアプリケーションには関心がありません。また、接続していない文字列を格納する最良の方法はDBにあると判断しました。次に、DB接続の問題が発生した場合にテキストの人に電話番号を格納するということですDBの外に保存する必要があります!
ここで遅ればせながら感謝し、あなたのコメントのための「受け入れ答え」を@rob_g。私は最終的にアイテムごとに1行の設定DBテーブルを作成しました。私は「完璧な解決策」を達成したとは思わないが、これまでよりもはるかに優れている。 – Nij