【发布时间】:2011-06-02 19:49:45
【问题描述】:
我正在做一个项目,我正在实现一个 SaveSettings 方法,该方法将许多设置保存到一个 xml 文件中。
问题是这样做需要时间,这就是为什么当我单击表单上的保存按钮时,我的 UI 只是挂起/停止了一段时间。
方法如下所示
public void SaveSettings(SettingsType settingsType)
{
if (!File.Exists(_settingsFile))
{
File.Create(_settingsFile);
}
var xmlDoc = XDocument.Load(_settingsFile);
switch (settingsType)
{
case SettingsType.Measurement:
SaveMeasurementSettings(ref xmlDoc);
break;
case SettingsType.Display:
SaveDisplaySettings(ref xmlDoc);
break;
case SettingsType.Common:
SaveCommonSettings(ref xmlDoc);
break;
case SettingsType.View:
SaveViewSettings(ref xmlDoc);
break;
case SettingsType.InputChannel:
SaveInputChannelSettings(ref xmlDoc);
break;
default:
break;
}
xmlDoc.Save(_settingsFile);
}
我想让 SaveSettings 方法异步一些 BeginSave/EndSave 以便当我调用 BeginSave 时我的 UI 应该很流畅。我没有 BackgroundWorker,因为我使用的是 .Net Compact Framework。
请提供有关实现异步模式的任何指导...
【问题讨论】:
标签: c# compact-framework