Jak uložit stav aplikace Active Server Pages

Překlady článku Překlady článku
ID článku: 175167 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Při vývoji webových Active Server Pages (ASP) je běžným způsobem přizpůsobit obsah aplikace, k ukládání informací o uživateli. Existuje několik způsobů ukládání informací ASP prostředí. Nejběžnější způsoby ukládání stavu včetně ukázkový kód a a nevýhody jednotlivých možností tohoto článku seznamy.

Další informace

Relace a aplikace proměnné

Jak pracují?

Proměnné relace a aplikace jsou uloženy na serveru. SessionID, je generována při zahájení relace ASP, je soubor cookie v paměti, která je uložena na klienta k identifikaci proměnné relace. Klient musí mít za následek soubory cookie povoleny prohlížeče proměnné relace a aplikace pro práci.

Odborníků

  • Tato metoda je snadno implementovat.
  • Jednoduché typy proměnných a objektů lze uložit (ačkoli ukládání objektů není doporučeno).
  • Od uživatele jsou skryté hodnoty, které jsou uloženy v proměnné relace a aplikace.

Cons

  • Tato metoda vyžaduje klienti mají soubory cookie povoleny ve webovém prohlížeči.
  • Tuto metodu nelze spolehlivě sdílet mezi sadu rámců nebo přes více instancí prohlížeče rámců.
  • Tato metoda ukládá informace na webovém serveru. To snižuje škálovatelnost dvěma způsoby: proměnné relace a aplikace použít prostředky na serveru a nelze použít na zcela farmami webové vyrovnáváno zatížení.

UKÁZKA

Nastavit hodnotu proměnné relace:
<%
   'Store information in a session variable.
   Session("myInformation") = "somevalue"
%>
				
načíst hodnotu z proměnné relace:
<%
    'Retrieve the information stored in the session variable.
    myValue = Session("myInformation")
%>
				

soubory cookie

Jak pracují?

Existují dva typy souborů cookie: v paměti soubory cookie a soubory cookie jsou uloženy na disk klienta. Soubor cookie v paměti je jeden nebo více dvojic název hodnota, které jsou uloženy v paměti v prohlížeči, dokud není uzavřen v prohlížeči. Soubor cookie, který je uložen na disku je soubor v počítači klienta, který obsahuje dvojice název hodnota.

Soubory cookie můžete nastavit a načte z kódu na straně klienta i na straně serveru.

Odborníků

  • Tato metoda je snadno implementovat.
  • Tato metoda může být uložen na disk pro budoucí použití (soubor cookie založené na disku), jednoduše nastavením datum vypršení platnosti na soubor cookie. To umožňuje úložiště mezi relacemi prohlížeče.

Cons

  • Klient ručně upravit soubory cookie jsou uloženy na disk.
  • Tato metoda vyžaduje klienti mají soubory cookie povoleny ve webovém prohlížeči.
  • Objekty nelze ukládat soubory cookie.

UKÁZKA

Ukládat informace do souboru 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
%>
				
načíst hodnoty ze souboru cookie:
<%
    'Retrieve the information that is stored.
    myValue = Request.Cookies("myInformation")
%>
				

Skryté pole formuláře

Jak pracují?

Každé stránce potřebuje formulář s skrytý formulář polí obsahujících informace o stavu. Namísto propojování a přesměrování stránek je formulář odeslán, když uživatel přejde na jinou stránku.

Odborníků

  • Tato metoda nevyžaduje soubory cookie.

Cons

  • Může být zdlouhavé přesměrovat a propojení stránek.
  • Tuto metodu nelze ukládat objekty.

UKÁZKA

Ukládat informace skrytých polí:
<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>
				
načíst hodnotu z pole skrytý formulář:
<%
    'Retrieving the information that is stored.
    myValue = Request.Form("myInformation")
%>
				

QueryString

Jak tato funkce pracuje?

Při použití kolekce QueryString proměnné jsou uloženy v adresu jako dvojice název hodnota. Například:
http://servername/page.asp?var1=value1&var2=value2&var3=value3
				
Poznámka: dvojice název hodnota jsou odděleny ampersand (&).

Odborníků

  • Pokud klient bookmarks stránky, stav bude trvat.

Cons

  • Úplné URL může být pouze 2083 bajtů.
  • Tuto metodu nelze ukládat objekty.
  • Adresa URL je velmi dlouhé a pevný číst.

UKÁZKA

Ukládat informace QueryString:
<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>
				
načíst hodnoty z QueryString:
<%
    'Retrieve the information stored.
    myFirstValue = Request.QueryString("firstvar")
    mySecondValue = Request.QueryString("secondvar")
%>
				

Soubor a databáze

Jak pracují?

Tato technika můžete implementovat mnoha různými způsoby. Následující kroky popisují jednu způsobem implementace souboru a databáze ukládání stavu:
  1. Generovat ID při prvním přihlášení uživatele nebo přejde na stránku v rámci aplikace.
  2. Použít některý z postupů v tomto článku k uložení identifikátor
  3. V souboru uložit hodnoty, použijte ID jako název souboru. Uložení hodnot v databázi pomocí kombinace ID a dvojice název hodnota k identifikaci záznamu.
  4. Volitelně uložit časové razítko s dvojice název hodnota v databázi. Soubory můžete použít časové razítko z poslední revize.
  5. Zapisovat služba provést vyčištění (odstranění záznamů a soubory) v určitých intervalech (například každých 20 minut nebo každou noc, kolik uživatelů přístup k webu na základě). Služba může použít časové razítko zjistit, zda vypršela platnost záznamu.

Odborníků

  • Hodnoty jsou zcela skryté od uživatele.
  • Pokud používáte sdílení souborů nebo databáze, může sloužit k simulaci proměnné relace na webové farmy.
  • Nevyžaduje soubory cookie.

Cons

  • Ukládá data na straně serveru.
  • Může být zdlouhavé implementovat.
  • Tato metoda může být pomalé, protože přístup k databázi a soubor je vyžadován k ukládání a načítání hodnot.

Odkazy

Další informace naleznete v následujících článcích v síti MSDN (Microsoft Developer Network):
Objekt relace
http://msdn2.microsoft.com/en-us/library/aa371675.aspx

Objekt aplikace
http://msdn2.microsoft.com/en-us/library/aa210897(office.11).aspx

Soubory cookie
Response.Cookies Collection
Request.Cookies Collection

QueryString
http://msdn2.microsoft.com/en-us/library/aa196462(office.11).aspx
Další informace naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
244465Jak zakázat stavu relace ASP v ASP
178037PRB: Relace proměnné ztracených při ASP je umístěného v sadě rámců
Nejnovější články databáze Knowledge Base a další informace o odborné pomoci na Visual InterDev a ASP naleznete na následující stránce na webu Microsoft odbornou pomoc:
http://support.microsoft.com/search/default.aspx?qu=vinterdev

Vlastnosti

ID článku: 175167 - Poslední aktualizace: 9. března 2007 - Revize: 3.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Active Server Pages 4.0
Klíčová slova: 
kbmt kbaspobj kbcodesnippet kbhowto kbscript KB175167 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:175167
Právní omezení pro obsah znalostní báze týkající se produktů, jejichž podpora byla ukončena
Tento článek byl napsán o produktech, pro které společnost Microsoft již neposkytuje nadále podporu. Článek je tedy nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.

Dejte nám zpětnou vazbu

 

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