Определение сессии только для чтения в ASP.NET MVC

def reverse(text):
    output = []
    for i in range(len(text)-1, -1, -1):
        output.append(text[i])
    return output
23
задан Mark 23 July 2009 в 16:09
поделиться

3 ответа

Здесь был задан аналогичный вопрос: Отключить состояние сеанса для каждого запроса в ASP.Net MVC

Принятый ответ касается создания настраиваемого обработчика маршрута, который в конечном итоге пропускает привязку к сеанс. Это не совсем отвечает на ваш вопрос (как объявить несколько действий для использования сеансового доступа только для чтения), но казалось достаточно важным, чтобы упомянуть.

8
ответ дан 29 November 2019 в 02:28
поделиться

Это может быть немного сложно - я понимаю, что настройка состояния сеанса происходит на уровне IHttpHandler. С помощью настраиваемых обработчиков вы можете указать состояние сеанса, используя интерфейсы маркеров, например IReadOnlySessionState, чтобы объявить, что ему требуется только состояние сеанса только для чтения. Вы можете попробовать добавить это в свой контроллер и посмотреть, как он летает. Я подозреваю, что этого не произойдет, потому что контроллеры ASP.NET mvc хорошо работают после того, как IHttpHandler подключен, но это стоит того.

Другим решением может быть обертывание переменных состояния сеанса в вашем собственном классе и раскрытие версия только для чтения для принудительного применения только для чтения. Доступ к нему через несколько запросов не должен быть проблемой,

1
ответ дан 29 November 2019 в 02:28
поделиться

Как насчет установки статических данных, которые вы хотите сделать "только для чтения" в вашей модели? Таким образом у вас могут быть одновременные запросы к MVC с одними и теми же данными.

-2
ответ дан 29 November 2019 в 02:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: