Is thie code below a good equivalent of the C# version, which I have included at the bottom.
VB Version
Public Shared Function GetStaleSessionTokens(ByVal staleAge As TimeSpan) As IList
Dim staleSessions As IList = New ArrayList()
SyncLock m_sessionTokens.SyncRoot
Dim allSessions As Queue = CType(m_sessionTokens.Clone(), Queue)
m_sessionTokens.Clear()
For Each session As TimestampedSession In allSessions
If session Is Nothing Then
GoTo Continue1
End If
If session.Timestamp.Compare(session.Timestamp, DateTime.Now.Subtract(staleAge)) Then
m_sessionTokens.Enqueue(session)
Else
staleSessions.Add(session.SessionToken)
End If
Continue1:
Next session
End SyncLock
Return staleSessions
End Function
C# Version
public static IList GetStaleSessionTokens(TimeSpan staleAge)
{
IList staleSessions = new ArrayList();
lock (m_sessionTokens.SyncRoot)
{
Queue allSessions = (Queue)m_sessionTokens.Clone();
m_sessionTokens.Clear();
foreach (TimestampedSession session in allSessions)
{
if (session == null) continue;
if (DateTime.Now.Subtract(session.Timestamp) > staleAge)
{
staleSessions.Add(session.SessionToken);
}
else
{
m_sessionTokens.Enqueue(session);
}
}
}
return staleSessions;
}
VB Version
Public Shared Function GetStaleSessionTokens(ByVal staleAge As TimeSpan) As IList
Dim staleSessions As IList = New ArrayList()
SyncLock m_sessionTokens.SyncRoot
Dim allSessions As Queue = CType(m_sessionTokens.Clone(), Queue)
m_sessionTokens.Clear()
For Each session As TimestampedSession In allSessions
If session Is Nothing Then
GoTo Continue1
End If
If session.Timestamp.Compare(session.Timestamp, DateTime.Now.Subtract(staleAge)) Then
m_sessionTokens.Enqueue(session)
Else
staleSessions.Add(session.SessionToken)
End If
Continue1:
Next session
End SyncLock
Return staleSessions
End Function
C# Version
public static IList GetStaleSessionTokens(TimeSpan staleAge)
{
IList staleSessions = new ArrayList();
lock (m_sessionTokens.SyncRoot)
{
Queue allSessions = (Queue)m_sessionTokens.Clone();
m_sessionTokens.Clear();
foreach (TimestampedSession session in allSessions)
{
if (session == null) continue;
if (DateTime.Now.Subtract(session.Timestamp) > staleAge)
{
staleSessions.Add(session.SessionToken);
}
else
{
m_sessionTokens.Enqueue(session);
}
}
}
return staleSessions;
}
Last edited: