Once the HttpSessionState.Abandon method is called, the current session is no longer valid and a new session can be started. HttpSessionState.Abandon causes the SessionStateModule.End event to be raised. A new SessionStateModule.Start event will be raised on the next request.
Session identifiers for abandoned or expired sessions are recycled by default. That is, if a request is made that includes the session identifier for an expired or abandoned session, a new session is started using the same session identifier. You can disable this by setting regenerateExpiredSessionId attribute of the sessionState configuration element to true. For more information, see Session Identifiers.
The SessionStateModule.End event is supported only when the HttpSessionState.Mode property is set to SessionStateMode.InProc.