处理这类问题是否有良好的做法?
如果你想要发生两次保存,那么用锁定序列化它们(或者
SemaphoreSlim
)是要做的方法。如果您想阻止第二次保存启动,那么正常的方法是在保存正在进行时禁用这些控件,例如,通过
IsBusy
与数据绑定到UI的属性。
注意事项:
设置你的
IsBusy
财产同步。这会立即禁用控件。
取消设置
IsBusy
在一个
finally
,即使发生错误,也要确保始终未设置。