StreamWriter写共享文件时Close()得非常慢,何解?

Clothos 2007-09-25 10:22:30
StreamWriter writer = null;

string file = @"\\127.0.0.1\file_1\111.txt"; //写回绕的本地共享就不行
//file = @"G:\file_1\111.txt"; //写本地就没问题
try
{
writer = new StreamWriter(file, false, encode);
writer.Write(text);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
if (writer != null)
{
writer.Flush();
writer.Close(); //这个执行得非常慢
}
}

是这样的,我想写入一个文件到G:\file_1\目录下,但我不是以本地的形式写入

而是通过IP的形式,共享了文件夹,然后用127.0.0.1回绕来写入,

但是最后关闭流.close()的时候非常慢,要等很久,有点出现假死的现象

有朋友碰到过吗?有办法解决吗?
...全文
301 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Clothos 2007-09-25
  • 打赏
  • 举报
回复
_^_ 知道什么回事了,凶手是瑞星防火墙

太严格了,,,晕晕……
Clothos 2007-09-25
  • 打赏
  • 举报
回复
谢谢楼上所有人,虽然我仍然不解,不过先给分吧,呵呵 >.<
Clothos 2007-09-25
  • 打赏
  • 举报
回复
哦,发现了一个特点,如果文件储存到局域网内其它机器的话会很快很正常

就是回绕不行,例如localhost 127.0.0.1 192.168.2.115(我在局域网内的IP)

这样来存在关闭时都很慢,但我不解,为什么会这样?

难道要设置端口?
jiatong1981 2007-09-25
  • 打赏
  • 举报
回复
异步调用进行 如果程序不是非要同步的等这个文件写好再做事情的话 这样主线程就不用管他了
Clothos 2007-09-25
  • 打赏
  • 举报
回复
用using也试过了,不行,using的作用其实就是交给系统去调用

try catch final而已,然后系统自己去调用.close而已

仍然很慢
Clothos 2007-09-25
  • 打赏
  • 举报
回复
换成dispose()快是快了,不过不.close()就不写入文件啊~~~直接销毁不行 _^_
jiatong1981 2007-09-25
  • 打赏
  • 举报
回复
不知道使用 using块能否改善些?
江城老温 2007-09-25
  • 打赏
  • 举报
回复
但是想来跟代码应该关系不大。对象关闭,不至于需要很多时间。或者你换成dispose()函数,直接销毁好了,看你的程序,这个对象在后面也是不需要的。
江城老温 2007-09-25
  • 打赏
  • 举报
回复
没做过这个。帮顶下。

110,552

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧