2012-02-20 4 views
0

Может ли кто-нибудь помочь мне объяснить подробное и правильное использование сеансов ASP.NET.Подробное и конкретное использование сеансов Asp.net?

Я читал много веб-порталов и блогов, но я не понимаю, как и где использовать сеансы.

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

Это может помочь многим новичкам, а также опытным людям правильно использовать сеансы в своем проекте.

Любая помощь приветствуется.

+0

В случае, если это поможет, я подробно отвечу на ваш вопрос в своей книге. См. Мой профиль для информации. – RickNZ

+0

@RickNZ - Я хочу, чтобы вы дали мне базовые проработки и преимущества и недостатки использования сеансов. Если бы я должен был купить книгу, я бы не разместил ее здесь как вопрос. – Murtaza

ответ

2

Это примерно, как она работает:

Когда пользователь посещает веб-страницы, идентификатор сеанса устанавливается в куки в браузере пользователя. Каждый раз, когда браузер отправляет запрос на сервер, браузер передает cookie, содержащий идентификатор сеанса на сервер. Это позволяет серверу распознавать пользователя и ассоциировать данные с пользователем через несколько запросов страниц (you can use sessions without cookies if you want to).

Сервер будет хранить эти данные в памяти по умолчанию. Однако, если несколько веб-серверов запускают приложение и обслуживают одного и того же пользователя, все они должны знать о данных сеанса пользователя. Таким образом, вы можете настроить приложение для хранения данных сеанса с помощью службы Windows State State Server «ASP.NET», или вы можете хранить данные в базе данных SQL (или вы можете написать собственный поставщик состояния сеанса и хранить данные там, где вам нравится). Более того, хранение данных сеанса в памяти, очевидно, является плохим выбором, если вы беспокоитесь, что ваша машина может упасть (что, очевидно, должно вас беспокоить).

Что касается «правильного и подробного» использования сеансов ASP.NET, то сказать сложно - это зависит от того, чего вы пытаетесь достичь. Если вы можете помочь, вы должны хранить только небольшие объемы данных в сеансах, так как объединенные сеансы всех пользователей, посещающих ваш сайт, могут занимать довольно много места. Более того, если вы используете сервер состояния ASP.NET или состояние сеанса SQL Server, хранящиеся данные должны быть сериализованы и десериализованы, что потребует нетривиального количества времени для данных нетривиального размера.

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

+0

ждет ответа лучше, если кто-то опубликует его через один-два дня. иначе я приму это. – Murtaza

+0

Если вы уточните, какую информацию у вас отсутствует, возможно, я могу помочь – Rune

Смежные вопросы