在业务中我在session中存放了很多以AA开头的KEY,如session("AA_001")=“DD”。现在我想查找出这些所有以AA开头的session 并清空,怎么办啊?

解决方案 »

  1.   

    你一开始设置一个记录数组,把设置session数值的时候,查看是否是aa开头,如果是,那么,放入数组,以后清空的时候,那么,就根据数组里面的名字清空!!
      

  2.   

    搞定,给大家分享一下
    Friend Sub clearSession(ByVal sessionOperation As System.Web.SessionState.HttpSessionState, ByVal strLcId As String)
            Dim keyCollection As System.Collections.Specialized.NameObjectCollectionBase.KeysCollection
            Dim keyName As String
            Dim num As Integer
            Dim count As Integer        'session总数()
            num = sessionOperation.Count
            '存在session中key的集合
            keyCollection = sessionOperation.Keys()        For count = 0 To num - 1
                'session的key名
                keyName = keyCollection.Get(count)
                If strLcId.Equals(keyName.Substring(0, 6)) Then
                    sessionOperation(keyName) = Nothing
                End If
            Next    End Sub
      

  3.   

    用 foreach 应该更加简单一些,
    不过不知道vb有没有foreach
      

  4.   

    哦,我明白了,strLcId.startWith(keyName)
      

  5.   

    用以下方法:
    for(int i=0;i<Session.Keys.Count;i++)
    {
      if(Session.Keys[i].Trim().Substring(0,2).ToUpper() == "AA")
      {
       //XXXXXXXXXXXx
      }
    }

    foreach(string strKey in Session.Keys)
    {
      if(strKey .Trim().Substring(0,2).ToUpper() == "AA")
      {
       //XXXXXXXXXXX
      }
    }
      

  6.   

    foreach( string key in Session.Keys )
    {
      if ( !key.StartWith( "AA" ) )
        continue;
      写在这里。
    }