好的,所以这个让我有点困惑。我有以下内容:
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>
我对此有两个问题:
- 如果我从 web.config 文件中省略我的设置,我会收到编译错误。这怎么可能?Web.config 是用户可编辑的;我只期望运行时错误。如果我编译我的应用程序,部署,然后用户编辑这个设置的名称——那不会破坏编译的代码吗?
- 我可能会将此设置存储在我的 web.config 文件的 appConfig 部分中。要访问这些值,我会通过 ConfigurationManager ——如果设置丢失,我只会在运行时收到一个空对象。这似乎不太有利,因为我倾向于更喜欢在编译期间出现的错误,但这让我想知道:这两个选项之间有什么区别以及我应该何时使用它们?