我的目的是 Session_End() 删除user.xml中,内容为Session["user"]的节点
但是在Session_End()函数里,调用Session["user"]总是报错。。
"会话状态在此上下文中不可用。 "源错误: 
行 46:         protected void Session_End(object sender, EventArgs e)
行 47:         {
行 48:             String username = Convert.ToString(Session["name"]);
有什么方案可以解决这个问题么?
static变量我试过,和application一样是所有客户端共享的。。这个不行。。其它的我真没啥办法了。。

解决方案 »

  1.   

    Session——End当会话结束时候触发,你岂能访问?建议你查看下global事件的含义
      

  2.   

    Session——End当会话结束时候触发,你岂能访问?建议你查看下global事件的含义
      

  3.   

    刚刚又有一个新的情况。。当Session_End为自然触发的时候,Session["name"]可以被调用,但是当Session_End()函数被强制调用,就会报上面的错误。。这是咋回事。。
      

  4.   

    就是在Global.asax.cs里面加一个函数,public void xx()
    {
    Session_End(null,null);}然后Global对象调用它就会报错,如上
    如果session到期自动触发Session_End则一切正常。。
    功能已经基本实现了。。只是对这个很不解。。
      

  5.   

    在Global.asax.cs里啊~
    这时候还没开始会话呢啊~
      

  6.   

    Session_End是被动触发,不可主动触发。就好比你不吃饭就会饿,而不是你让自己饿自己就会饿。
      

  7.   

    就像你网站出现错误会触发global中Error事件,而不是你自己让网站错误就调用Error来引起错误