在我的 c# Windows Forms 应用程序(.net 3.5 / VS 2008)中,我有 3 个设置文件,生成一个 user.config 文件。
一个设置文件包含较大的数据,但很少更改。经常变化的数据很少。但是,由于设置的保存总是写入整个(XML)文件,所以它总是“慢”。
SettingsSmall.Default.Save(); // slow, even if SettingsSmall consists of little data
我能否以某种方式配置设置以生成两个文件,从而导致:
SettingsSmall.Default.Save(); // should be fast
SettingsBig.Default.Save(); // could be slow, is seldom saved
我已经看到我可以使用 SesionInformation 类进行进一步定制,但是对我来说最简单的方法是什么?这是否可以通过更改 app.config (config.sections) 来实现?
--- 添加了关于 App.config 的信息
我得到一个文件的原因可能是 App.config 中的 configSections。这是它的外观:
<配置部分> <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <section name="XY.A.Properties.Settings2Class" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> <section name="XY.A.Properties.Settings3Class" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> </sectionGroup> </configSections>
当我添加第二个和第三个设置文件时,我得到了这些部分。我没有注意到这一点,所以它在某种程度上是 VS 2008 的默认设置。单个 user.config 有这 3 个部分,它是绝对透明的。
只有我不知道如何告诉 App.config 创建三个独立的文件而不是一个。我已经“玩弄”了上面的 app.config,但是例如,当我删除配置部分时,我的应用程序会因异常而终止。