public static ListJobDatas LoadXmlFromFileSystem(string jobXml) { FileStream f = null; StreamReader sr = null; try { lock (JobXmlFile) { if (string.IsNullOrEmpty(jobXml)) { bool Error = false; do { try { f = new FileStream(JobXmlFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); Error = false; } catch { Error = true; Thread.Sleep(1000); } } while (Error); } else { f = new FileStream(jobXml, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); } sr = new StreamReader(f); return(SerializationHelper.DeSerializeAnObject <ListJobDatas>(sr.ReadToEnd())); } } finally { sr.Close(); f.Close(); } }