Bliver FlieStreams lukket?
Har følgende metode, der loader filer ind i hukommelsen, som jeg senere sender over en TCP forbindelse.public Hashtable LoadFiles(string pdaName, out long totalSize)
{
long size = 0;
string[] fileNameList = Directory.GetFiles(directoryName + pdaName);
FileStream fs;
Hashtable toReturn = new Hashtable();
foreach(string file in fileNameList)
{
if(file.IndexOf(agroSyncTxtFile) < 0)
{
if(file.Length > 60)
throw new Exception("Found file name longer than 60 characters. Name found: " + file);
fs = new FileStream(file,FileMode.Open,FileAccess.Read,FileShare.Read);
size += fs.Length;
toReturn.Add(file.Substring(file.LastIndexOf(@"\")+1),fs);
}//if
}//foreach
totalSize = size;
return toReturn;
}//LoadFiles
Hvis metoden kaster en exception, fanger jeg den i metoden der kalder denne metode.
Spørgsmål: Hvis en exception bliver kaldt, slipper mine FileStreams så filerne? Hashtabellen med FileStreams i ryger jo "out of scope" og så bliver FileStream objekterne vel nedlagt?
Vil være sikker, da en anden applikation også har sine fedtede fingre i samme filer, og ikke gerne skulle få File access violations, fordi jeg aldrig får filerne sluppet når jeg får en exception.
TIA
-spif2001
