さて、これは私を少し混乱させました。私は次のものを持っています:
string csvOfAttributes = CableSolve.Web.Properties.Settings.Default.GenerateBoothReportAttributes;
そして私のweb.configで:
<CableSolve.Web.Properties.Settings>
<setting name="GenerateBoothReportAttributes" serializeAs="String">
<value>327, 329, 330, 369, 342</value>
</setting>
</CableSolve.Web.Properties.Settings>
これについて2つの質問があります。
- web.configファイルから設定を省略すると、コンパイルエラーが発生します。これはどのように可能ですか?Web.configはユーザーが編集できます。実行時エラーのみが予想されます。アプリケーションをコンパイルしてデプロイすると、ユーザーがこの設定の名前を編集します。コンパイルされたコードは壊れませんか?
- この設定をweb.configファイルのappConfigセクションに保存できる可能性があります。値にアクセスするには、ConfigurationManagerを使用します。設定がない場合にのみ、実行時にnullオブジェクトを受け取ります。コンパイル中に発生するエラーを好む傾向があるため、これはあまり有利ではないように見えますが、これら2つのオプションの違いは何であり、いつ使用する必要があるのか疑問に思います。