【发布时间】:2009-10-20 14:12:27
【问题描述】:
我在我的一个项目中遇到过这段代码,它有一个静态函数可以从文件中返回一个 MemoryStream,然后将其存储在缓存中。现在同一个类有一个构造函数,它允许将 MemoryStream 存储在私有变量中,然后再使用它。所以它看起来像这样:
private MemoryStream memoryStream;
public CountryLookup(MemoryStream ms)
{
memoryStream = ms;
}
public static MemoryStream FileToMemory(string filePath)
{
MemoryStream memoryStream = new MemoryStream();
ReadFileToMemoryStream(filePath, memoryStream);
return memoryStream;
}
用法:
Context.Cache.Insert("test",
CountryLookup.FileToMemory(
ConfigurationSettings.AppSettings["test"]),
new CacheDependency(someFileName)
);
然后:
CountryLookup cl = new CountryLookup(
((MemoryStream)Context.Cache.Get("test"))
);
所以我想知道谁应该处置 memoryStream 以及何时处置?理想情况下,CountryLookup 应该实现 IDisposable。
我应该关心它吗?
【问题讨论】:
标签: c# idisposable