首页新闻找找看学习计划

多线程写日志 无法访问已关闭的文件

0
悬赏园豆:50 [待解决问题]
<pre>这是我写的写日志的类:public static void WriteLog(string msg) { try { string log = LogPath + LogFielPrefix + "_" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; if (!File.Exists(log)) { StreamWriter CreateLog = File.CreateText(log); } //同一天同一类日志以追加形式保存 sw = System.IO.File.AppendText(log); sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss: ") + msg); sw.Flush(); } catch { } finally { sw.Close(); //sw.Close(); } }这是错误信息:System.ObjectDisposedException: 无法访问已关闭的文件。 在 System.IO.__Error.FileNotOpen() 在 System.IO.FileStream.Flush() 在 System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder) 在 System.IO.StreamWriter.Dispose(Boolean disposing) 在 System.IO.StreamWriter.Close() 在 TJETCDataClient.LOG_OP.WriteLog(String msg) 位置 C:\Users\Administrator\Desktop\TJETCDataClient0916\LOG_OP.cs:行号 70 在 TJETCDataClient.TJETCDataClient.Rcv_AllMsg() 位置 C:\Users\Administrator\Desktop\TJETCDataClient0916\TJETCDataClient.cs:行号 3322010-10-08 11:17:16: 无法访问已关闭的文件。 接收数据结束,线程返回用户代码未处理 System.ObjectDisposedException Message="无法访问已关闭的文件。" Source="mscorlib" ObjectName="" StackTrace: 在 System.IO.__Error.FileNotOpen() 在 System.IO.FileStream.Flush() 在 System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder) 在 System.IO.StreamWriter.Dispose(Boolean disposing) 在 System.IO.StreamWriter.Close() 在 TJETCDataClient.LOG_OP.WriteLog(String msg) 位置 C:\Users\Administrator\Desktop\TJETCDataClient0916\LOG_OP.cs:行号 70 在 TJETCDataClient.TJETCDataClient.Deal_SP(Object source, ElapsedEventArgs e) 位置 C:\Users\Administrator\Desktop\TJETCDataClient0916\TJETCDataClient.cs:行号 689 在 System.Timers.ElapsedEventHandler.Invoke(Object sender, ElapsedEventArgs e) 在 System.Timers.Timer.MyTimerCallback(Object state) InnerException: 这是出错代码,都是调用的写日志的类: 689行:LOG_OP.WriteLog(" 本次发送的记录条数是: " + count_record);332行:LOG_OP.WriteLog(" 接收到新表:" + getTableName); </pre>
sunnyhaizi的主页 sunnyhaizi | 初学一级 | 园豆:80
提问于:2010-10-08 14:36
< >
分享
所有回答(3)
0

看不到你贴的代码,Firefox。

Astar | 园豆:40805 (高人七级) | 2010-10-08 15:14
0
aixuexi | 园豆:13 (初学一级) | 2010-10-08 17:23
0

看不到全的 chrome firefox ie6-8

胡须胜张飞 | 园豆:217 (菜鸟二级) | 2010-10-08 17:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册