Сброс идентификатора сеанса может иметь много причин. Однако все вышеперечисленное не относится к моей проблеме. Поэтому я опишу это для дальнейшего использования.
В моем случае новый сеанс, создаваемый для каждого запроса, приводил к бесконечному циклу перенаправления. Действие перенаправления происходит в OnActionExecuting событие.
Также я очистил все заголовки http (также в OnActionExecuting , используя Response.ClearHeaders метод), чтобы предотвратить кэширование сайтов на стороне клиента. Но этот метод очищает все заголовки, включая информацию о сеансе пользователя, и, следовательно, все данные во временном хранилище (которое я использовал позже в программе). Так что даже установка нового сеанса в событии Session_Start не помогла.
Чтобы решить мою проблему, я позаботился о том, чтобы не удалять заголовки при перенаправлении.
Надеюсь, это кому-нибудь поможет.