Session.Clear() vs. Session.RemoveAll()

Есть ли разница между Session.Clear() и Session.RemoveAll()?

Описания и страницы документации, похоже, говорят точно так же, но Я предполагаю, что для создания двух функций должна быть какая-то причина, я прав?

Ответ 1

Чтобы быть спасенным, вы всегда можете просто называть их такими, как это....

Session.Clear()
Session.Abandon()
Session.RemoveAll()

Пример VB.NET, я уверен, что все, что вам нужно сделать, это разместить; в конце каждого из них. Это сделало трюк для меня, поскольку у меня были некоторые проблемы с моей сессией, прежде чем они не были удалены.

Ответ 2

Абсолютно то же самое. RemoveAll вызывает Clear внутренне. Из рефлектора:

public sealed class HttpSessionState : ICollection, IEnumerable
{
    ...

    [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
    public void RemoveAll()
    {
        this.Clear();
    }

    ...
}