我在做一个小项目其中要用到写日志文件。没有进行写文件操作一切正常。只要写文件,写完文件一刷新页面Session值就丢失了。我也知道写文件和Session没有关系,可是只要我不进行写文件操作就没有问题。我也进行了跟踪,在写文件前和写文件后Session值都没有问题,但是一刷新页面就出问题。
哪位高手帮帮我吧。

解决方案 »

  1.   

    写文件操作代码:
    public void mWriteFile(string topic)
    {
    string path=@"bin\log\iss.log";
    string user=Session["username"].ToString();
    string mDate=DateTime.Now.ToLongTimeString();
    try
    {
    if(!File.Exists(Server.MapPath(path)))
    {
    StreamWriter SW=File.CreateText(Server.MapPath(path));
    SW.WriteLine(user+"\t"+mDate+"\t"+topic);
    SW.Close(); }
    else
    {
    StreamWriter SW=File.AppendText(Server.MapPath(path));
    SW.WriteLine(user+"\t"+mDate+"\t"+topic);
    SW.Close();
    }
    }
    catch(Exception)
    { }

    }
      

  2.   

    string user=Session["username"].ToString();只用到这个呀。没有什么问题呀。不明白。同有出错信息提示吗。?
      

  3.   

    没有任何别的错误啊。跟踪程序在执行文件写操作前后Session正常。当再次在page_load中取session值时就丢失了。
      

  4.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面

    if(Session["username"]==null)
    {
    Response.Redirect("err.htm");
    }
    username=Session["username"].ToString();
    string Purview=Session["PurviewStr"].ToString().ToLower();
    if(Purview=="true")
    {
    Response.Redirect("userboard.aspx");
    }

    if(!Page.IsPostBack)
    {
    Table(ReturnString());
    }
    }
      

  5.   

    我曾经试过一修改bin文件夹里的文件,session就会丢失。你试试看把文件放到bin文件夹外边
      

  6.   

    日志文件放到bin里面去了吧,运行中bin文件夹下面的东西只有有改动(增加、删除文件,修改文件)都会导致应用程序重新启动,从而致使session丢失