Pardeep Dhiman Ответов: 4

Разница между статической переменной, sessionstate и viewstate.


Пожалуйста, скажите мне разницу между статической переменной, sessionstate и viewstate - всеми этими тремя.
Я нахожу, что все они могут хранить значение переменной в пределах поездок туда и обратно.

Что мы должны использовать и в каком состоянии? С точки зрения производительности?

Спасибо

Sandeep Mewara

Вы пробовали Google?

R. Giskard Reventlov

Это очень большой вопрос и неуместен для этого форума, который находится здесь, чтобы ответить на конкретные вопросы программирования. Ваш вопрос лучше всего исследовать с помощью Google или в библиотеке.

4 Ответов

Рейтинг:
16

Anupama Roy

ViewState используется только на одной странице, которая обрабатывает обратные сообщения. Как только ты
перенаправление на новую страницу, состояние просмотра теряется.

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

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


Рейтинг:
1

Espen Harlinn

Это короткий объяснение:

Viewstate совершает поездку туда и обратно, она визуализируется в html и отправляется обратно во время обратного вызова/обратного вызова.

Состояние сеанса-это словарь объектов, который живет как часть сеанса. Существует один для каждого сеанса/пользователя.

статическая переменная является глобальной для приложения на одном сервере.


С уважением
Эспен Харлинн


OriginalGriff

"статическая переменная является глобальной для приложения на одном сервере"
Не совсем - он недоступен вне определяющего класса, если только он специально не объявлен общедоступным. Обычно статическая переменная не является общедоступной (хотя статическое свойство может быть).

Espen Harlinn

Как я уже сказал - краткое объяснение. Мы оба знаем, что многие вопросы заслуживают более исчерпывающих ответов, но полный ответ обычно усыпляет людей без надлежащей мотивации. Разумно мотивированный разработчик должен знать ответ на такого рода вопросы или прочитать книгу.

Рейтинг:
1

OriginalGriff

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

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

Viewstate похож на sessionstate, но он запоминает изменения состояния страницы через обратные ссылки.

Со всей серьезностью, это всего лишь краткий набросок, есть еще много чего понять. Я предлагаю вам попробовать Google и почитать об этом, потому что здесь есть чему поучиться, и чертовски много всего, что я могу напечатать здесь!


Рейтинг:
0

MacSpudster

И, кроме того, у вас есть хулиганы, такие как @Richard Deeming & Kats2512, которые удаляют действительные решения.


[no name]

Может быть, тебе стоит объяснить это подробнее. И наиболее подходящими форумами для этого являются "ошибки и предложения" или "спам и злоупотребление Watch", а не как решение вопроса, датированного 2011 годом....?

Richard Deeming

И тогда у вас есть такие идиоты, которые размещают жалобы как "решения" вопросов, игнорируя тот факт, что вопрос был решен СЕМЬ ГРЕБАНЫХ ЛЕТ НАЗАД!

Но эй, я полагаю, мы должны просто позволить тебе продолжать выращивать эти РЕПО-точки, А? >:(