которая дороже либо сессионной переменной, либо статической модели в ASp.net MVC - PullRequest
2 голосов
/ 21 января 2012

Кто-то сказал мне, что всегда игнорируйте использование сеанса в кодировании из-за перегрузки на сервере.

Так что я использую Статическая модель класс для хранения значения между несколькими запросами ... !!!

Так есть ли статическая модель предпочтительнее ???

Ответы [ 3 ]

1 голос
/ 21 января 2012

Значения сеанса указаны для пользователя. Статические значения указаны для приложения.

Они не могут быть изменены без рефакторинга кода, поэтому будьте осторожны, чтобы правильно их использовать.

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

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

Лучшее решение - редко чистое, но чаще смешанное.

0 голосов
/ 21 января 2012

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

0 голосов
/ 21 января 2012

Вы должны использовать сеанс для разделения значений для пользователя , и полезно использовать статический, если у вас одинаковые значения в вашей программе - и одинаково для всех пользователей на asp .net pool.

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

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

Надеюсь, это поможет.

...