ASP.NET — защищенная переменная

#asp.net #variables #protected

#asp.net #переменные #защищенная

Вопрос:

Если я использую защищенную переменную, существует ли эта переменная для всего веб-приложения или она удаляется, когда пользователь переходит на другую страницу с помощью get или post? Я знаю, что она недоступна на других страницах, если я не использую статическую переменную, но мне любопытно, существует ли она для всего приложения. Пожалуйста, дайте мне знать!

Ответ №1:

когда вы перейдете на другую страницу и вернетесь, будет создан новый экземпляр вашего класса page, и поэтому все нестатические переменные будут сброшены.

Значение будет действительным в течение одного срока службы процесса запроса (начинается с начала запроса и заканчивается завершением запроса)

создание переменной защищенной просто означает, что к этой переменной доступен доступ в унаследованном классе. например, в asp.net вы можете использовать ее в унаследованном классе, например, внутри вашей разметки (потому что она наследует код, стоящий за классом)

в этом смысл защищенной переменной

если вы хотите сохранить значение, сохраняемое между страницами, вы можете использовать один из этих элементов в зависимости от ваших требований :

  • Файл cookie
  • Строка запроса
  • Состояния сеанса
  • Состояния приложения
  • Кэш

и ViewState сохраняет переменную состояния между обратными отправками на той же странице или элементе управления, пока она не перенаправлена на другую страницу.

Ответ №2:

protected ключевое слово не определяет, как долго существует переменная, и не определяет, будет ли она доступна в следующем сообщении.

То, что вы, вероятно, ищете, — это управление состоянием.

Взгляните на эту веб-страницу, чтобы увидеть, как вы можете поддерживать состояние между обратными записями, разными страницами и т.д.

Также взгляните на эту страницу, чтобы определить, какую функцию управления состоянием использовать в той или иной ситуации.

Ответ №3:

Как правило, переменные «страницы» сохраняются только в течение срока действия запроса. Если ваша переменная статична, для всех запросов будет существовать только один экземпляр переменной, пока домен приложения не выгрузится.

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

Однако ваш вопрос кажется немного странным. Что вас беспокоит?

Комментарии:

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