hMailServer.Core.Server.HandleSessionAsynchronously C# (CSharp) Метод

HandleSessionAsynchronously() приватный Метод

When session has completed, log any error which occured and dispose resources. This is done asynchronously sincew we want to be able to start new session without previous to complete.
private HandleSessionAsynchronously ( Task sessionTask, Connection connection, ISession session ) : void
sessionTask Task
connection System.Net.Connection
session ISession
Результат void
        private void HandleSessionAsynchronously(Task sessionTask, Connection connection, ISession session)
        {
            sessionTask.ContinueWith(f =>
            {
                if (f.IsFaulted)
                {
                    var exception = f.Exception.InnerException;

                    _log.LogException(new LogEvent()
                    {
                        LogLevel = LogLevel.Error,
                        EventType = LogEventType.Application,
                        Message = exception.Message,
                        RemoteEndpoint = connection.RemoteEndpoint,
                        SessionId = connection.SessionId,
                        Protocol = session.Protocol.ToString()
                    }, exception);
                }

                SessionManager.DecreaseSessionCount(session.Protocol);

                // Session has ended.
                connection.Dispose();
            });
       }