在我的公司中,我看到了一些代码,这些代码搜索Windows的某些键,并返回一个IEnumerable,其中T是一个对象,它保存与查找模式匹配的注册表项的值和数据。进行此处理的方法使用产率-返回模式。注册表项在包含产率返回的foreach完成后关闭。
我的问题是,访问Windows注册表是否是一种安全的方式?由于密钥在迭代完成之前不会关闭,如果考虑到迭代完成前可能存在任意延迟,那么,假设存在电源故障/系统崩溃,那么会产生什么影响呢?
我还可以提到,在任何时候,返回的元素数量都将是极少数--比如最多20个。
发布于 2014-09-17 02:46:58
保持注册表键可供阅读,主要是占用操作系统资源.因此
我想说的是,就你而言,这是一个很好的呼吁和尽职调查--至少要考虑让系统资源占用的时间超过必要的时间所带来的影响。
正如peter在注释中提到的,请在using语句中包装任何一次性对象。
https://stackoverflow.com/questions/25880900
复制相似问题