【发布时间】:2013-04-29 08:54:03
【问题描述】:
我想编写一个 Win8 应用程序,我使用一个 Configuration-class 和一个 static 成员,它在启动时加载一次,并且可以在运行时从任何地方访问。
所以,主要问题是,默认设置存储在一个xml文件中,但是读取文件内容是异步的(StorageFile),但是我没有找到任何解决方案等待,直到文件完全加载,因为不可能在每种情况下(主线程、构造函数)都使用await,这在我看来是一个设计问题。
如果在访问Configuration 数据之前未完全读取文件,则此应用将出现错误行为。
这是一个示例代码:
public class Configuration
{
// stores the only instance of this class
private Configuration instance = null;
// public access to the instance
public Configuration Current
{
get
{
if (instance == null)
{
instance = new Configuration();
}
return instance;
}
}
private Configuration()
{
// load data from file synchronously
// so it is loaded once on first access
}
}
我不确定,如何解决这个问题,可能我需要更改我的Configuration-class 的设计。任何建议/提示都会很好。
【问题讨论】:
标签: c# windows-runtime async-await storagefile