Как сохранить состояние приложения страницы Active Server

Переводы статьи Переводы статьи
Код статьи: 175167 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

При разработке Web Active Server Pages (ASP) — это простой способ настройки содержимого приложения, для хранения сведений о пользователе. Существует несколько способов для хранения данных в ASP среды. Списки статьи это наиболее распространенные способы хранения состояния, включая примеры кода и и недостатки каждого варианта.

Дополнительная информация

Сеанс и переменные приложения

Как они работают?

надписьюСеансиПриложениепеременные хранятся на сервере. SessionID, который создается в начале сеанса ASP, находится в памяти cookie, который хранится на клиенте для идентификацииСеанспеременные. Таким образом клиент должен иметь файлы cookie в обозревательСеансиПриложениепеременные для работы.

Специалисты по

  • Этот метод прост в реализации.
  • Можно хранить объекты и простые типы переменных (несмотря на то, что сохранение объектов не рекомендуется).
  • Значения, хранящиеся в переменных сеанса и приложения будут скрыты от пользователя.

Недостатки

  • Этот метод требует от клиентов для файлов "cookie" в веб-обозревателя.
  • Этот метод не может использоваться надежно между рамками в наборе рамок или несколькими экземплярами обозревателя.
  • Этот метод сохраняет сведения о веб-сервера. Это уменьшает масштабируемость двумя способами:СеансиПриложениепеременные используют ресурсы на сервере, и они не могут использоваться для полностью ферм Web балансировкой нагрузки.

Пример

Задайте значение переменной сеанса.
<%
   'Store information in a session variable.
   Session("myInformation") = "somevalue"
%>
				
Извлечь значение из переменной сеанса:
<%
    'Retrieve the information stored in the session variable.
    myValue = Session("myInformation")
%>
				

Файлы Cookie

Как они работают?

Существует два типа файлов "cookie": в памяти файлы «cookie» и «cookie», которые хранятся на диске клиента. Файл cookie в памяти, — это один или несколько пар имя значение, которые хранятся в памяти веб обозревателя до закрытия обозревателя. Объект cookie, который хранится на диске — это файл на клиентский компьютер, содержащий пары имя значение.

Файлы «cookie» задать и извлечь из клиентского и серверного кода.

Специалисты по

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

Недостатки

  • Клиент может вручную изменить файлы cookie, которые хранятся на диске.
  • Этот метод требует от клиентов для файлов "cookie" в веб-обозревателя.
  • Файлы «cookie» не может хранить объекты.

Пример

Сохранить данные в файле cookie:
<%
   'Set a cookie value.
   Response.Cookies("myInformation") = "somevalue"
   'Expire the cookie to save it to disk. If this is omitted, the cookie
   'will be an in-memory cookie. In this case, the cookie is set to expire
   'in twenty days.
   Response.Cookies("myInformation").Expires = now() + 20
%>
				
Извлечь значение из файла cookie:
<%
    'Retrieve the information that is stored.
    myValue = Request.Cookies("myInformation")
%>
				

Скрытые поля формы

Как они работают?

Каждая страница должна формы с помощью скрытых полей, содержащих сведения о состоянии. Вместо связывания и перенаправления на страницы, когда пользователь переходит на другую страницу отправляется форма.

Специалисты по

  • Этот метод не требует файлы «cookie».

Недостатки

  • Это может быть громоздким и перенаправить ссылки на страницы.
  • Этот метод не может хранить объекты.

Пример

Сохранить данные в скрытых полях:
<HTML>
<HEAD>
<SCRIPT LANGUAGE=javascript>
  //Function that is used to submit the links:
  function browseToUrl(url){
    form1.action=url;
    form1.submit();
  }
</SCRIPT>
</HEAD>
<BODY>

<%
  dim myInformation
  myInformation = "somevalue"  
%>

<!-- This stores the value that is set above in the hidden form field. -->
<FORM id="form1" name="form1" action="" method="post">
<INPUT type="hidden" id="myInformation" name="myInformation" value="<%= myInformation%>">  

<!-- Navigation sample that uses this technique. -->
<INPUT type="button" value="p3.asp" id=button1 name=button1 onclick='goToUrl("p3.asp");'>
</FORM>
</BODY>
</HTML>
				
Извлечь значение из скрытого поля формы:
<%
    'Retrieving the information that is stored.
    myValue = Request.Form("myInformation")
%>
				

Строки запроса

Как работает это средство??

При использовании командыСтроки запросаколлекции, переменные, хранятся в виде пары имя значение URL-адрес. Например,:
http://servername/page.asp?var1=value1&var2=value2&var3=value3
				
Примечание.: Пары имя значение разделяются амперсандом (&).

Специалисты по

  • Если клиент закладки страницу, состояние будет сохраняться.

Недостатки

  • Полный URL-адрес может быть только 2083 байт.
  • Этот метод не может хранить объекты.
  • URL-адрес является очень длинным и трудным для чтения.

Пример

Сохранить данные в строки запроса:
<HTML>
<HEAD></HEAD>
<BODY>
<%
   'Function that assembles the QueryString:
   function AddToQueryString(qs, name, value)
     
     if qs="" then
       qs = name & "=" & value
     else
       qs = qs & "&" & name & "=" & value
     end if
     
     addToQueryString = qs
   end function

   dim querystring

   'Store the first value.
   querystring = AddToQueryString(querystring, "firstvar", "firstvalue")
   'Store the second value.
   querystring = AddToQueryString(querystring, "secondvar", "secondvalue")
%>

<a href="urlreceive.asp?<%=querystring%>">urlreceive.asp</a>
</BODY>
</HTML>
				
Получать значения из строки запроса:
<%
    'Retrieve the information stored.
    myFirstValue = Request.QueryString("firstvar")
    mySecondValue = Request.QueryString("secondvar")
%>
				

Файлы и базы данных

Как они работают?

Этот метод можно реализовать множеством способов. Следующие шаги иллюстрируют один из способов реализации и файла в базу данных сохранения состояния:
  1. Создание Идентификатора при первом входе в систему или переходит на страницу в приложении.
  2. Использовать любой из методов в этой статье для хранения кода.
  3. Для хранения значений в файле, следует используйте код в качестве имени файла. Для хранения значений в базе данных, используйте сочетание идентификатор и пара имя значение для идентификации записи.
  4. При необходимости сохранить метки времени парой имя значение в базе данных. Для файлов можно использовать метки с последней версии.
  5. Запись службы для выполнения очистки (файлы и удаления записей) через определенные промежутки времени (например, каждые 20 минут или каждую ночь, в зависимости от того, сколько пользователей доступ к узлу). Служба может использовать временную метку, чтобы определить, истек ли срок действия записи.

Специалисты по

  • Значения полностью скрыты от пользователя.
  • Если используется общий файловый ресурс или базы данных, это можно использовать для моделирования переменных сеанса на Web фермы.
  • Файлы «cookie» не требуется.

Недостатки

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

Ссылки

Для получения дополнительных сведений обратитесь к следующим статьям на Microsoft Developer Network (MSDN):
Объект сеанса
http://msdn2.Microsoft.com/en-us/library/aa371675.aspx

Объект приложения
.aspx HTTP://msdn2.Microsoft.com/en-us/library/aa210897 (office.11)

Файлы Cookie
Response.Cookies коллекции
Request.Cookies коллекции

Строки запроса
.aspx HTTP://msdn2.Microsoft.com/en-us/library/aa196462 (office.11)
Дополнительные сведения см. в следующих статьях базы знаний Майкрософт::
244465Как состояния сеанса ASP отключение в активных серверных страниц
178037Проблема: Сеанс переменные, потерянных при ASP расположена в набор рамок
Последние статьи базы знаний и другие сведения в Visual InterDev и страницы ASP содержатся следующие страницы на веб-узле технической поддержки Майкрософт:
http://support.Microsoft.com/search/Default.aspx?QU=vinterdev

Свойства

Код статьи: 175167 - Последний отзыв: 14 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Active Server Pages 4.0
Ключевые слова: 
kbaspobj kbcodesnippet kbhowto kbscript kbmt KB175167 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:175167
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com