none
调用StreamWriter.WriteLine,Application被清空? RRS feed

  • 问题

  • 我在asp.net web service的一个方法中调用StreamWriter.WriteLine方法输出文本文件,但是一调用后发现Application中的内容会被全部清空,使用File, FileInfo里的输出方法都是这样的结果,甚至我用输出到Console,把Console重定向到文件都试了,一样会清空Application(直接Console不重定向就正常)。

    这是个.Net库的Bug?


    补充一下,不是调用后立刻清空Application,而是在下次客户端调用Web Service方法时,Application中无内容。


    • 已移动 ThankfulHeart 2012年8月1日 3:30 ASP.NET问题 (发件人:Visual C#)
    • 已编辑 ninax 2012年8月1日 3:48
    2012年8月1日 3:20

答案

全部回复

  • 可以给出您的代码吗?

    或者你尝试这个方法:

    System.IO.File.ReadAllText

    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年8月1日 3:32
  • 我不需要Read,所以ReadAllText即使正常也没用,WriteAllText我是试过的,同样有问题。

    完整代码比较繁琐,这里贴不清楚。写个意思:

            [WebMethod]
            public Guid Logon()
            {
              ...

               WriteLog(msg);

               return guid;

            }

            void WriteLog(string msg)
            {
                try
                {
                    FileInfo file = new FileInfo(filename);
                    StreamWriter sw = file.AppendText();
                    sw.WriteLine(msg);

                    sw.Close();
                }
                catch { }
            }


    • 已编辑 ninax 2012年8月1日 3:43
    2012年8月1日 3:40
  • 自己解决了。输出文本到了bin目录,导致进程重启。

    • 已标记为答案 ninax 2012年8月1日 8:38
    2012年8月1日 8:38