Zarządzanie stanem aplikacji Mechanizm Sesji

Slides:



Advertisements
Podobne prezentacje
20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Advertisements

Programowanie obiektowe
Mechanizmy pracy równoległej
Programowanie obiektowe
Programowanie w Środowiskach Zintegrowanych
Decyzje projektowe w .NET Framework
Sieci komputerowe Usługi sieciowe Piotr Górczyński 27/09/2002.
Wprowadzenie do języka skryptowego PHP
Bezpieczeństwo aplikacji WWW
Kamil Smitkiewicz Bezpieczeństwo w PHP.
WinSCP - Konfiguracja Przystosowanie WinSCP do specyfiki środowiska
CORBA Łukasz Wnęk.
Microsoft Professional Developer Days 2004
Uwierzytelnianie i autoryzacja dostępu do portali
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE PODSTAWOWE.
Serwery Aplikacji ASP .NET Web Objects Arkadiusz Popa.
.NET - możliwości Jarosław Balcer & Jan Góralski.
Arkadiusz Twardoń ZTiPSK
Damian Urbańczyk PHP Obsługa sesji.
Wykład 2. Wprowadzenie do architektur systemów rozproszonych
Paweł Rajba Kurs WWW – wykład 10 Paweł Rajba
Systemy operacyjne.
SO – LAB3 Wojciech Pieprzyca
Obsługa routera Wykład: Zaawansowane sieci komputerowe
Enteprise Java Beans Emil Wcisło.
Wzorce projektowe w J2EE
Systemy zarządzania treścią CMS

Architektura systemów wykorzystujących bazy danych (systemów bazodanowych) Wykład S. Kozielski.
Systemy i Narzędzia Baz Danych z Dostępem Przez Internet
Inżynieria Oprogramowania
System katalogowania. Opis i architektura.
Serializacja Serializacja pozwala zamienić obiekt na sekwencję bajtów, w sposób umożliwiający później wierne odtworzenie jego zawartości Inna nazwa to.
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
Błażej Miśkiewicz Grupa domowa w Windows 7 Błażej Miśkiewicz MCT MCP MCSA MCTS MCITP.
Komputer a system komputerowy
Aplikacje Internetowe
IT Asset Management Service
Bezpieczna platforma SharePoint
Struktura aplikacji System elektronicznej obsługi klienta
… iSCSI … Windows Server 2012 Łukasz Dylewski.
Władcy Danych Wykorzystanie Master Data Services do zapanowania nad wszechobecnym chaosem Paweł Potasiński.
Oprogramowanie Zbierające DANE Z WAG
Prezentacja i szkolenie
Dziedziczenie Maciek Mięczakowski
Narzędzia administracyjne
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 3.
Internetowe surfowanie
Teleinformatyka Wykład 7 Komunikacja klient-serwer – cd.
System do zarządzania i ewidencji dokumentów.
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
Uprawnienia w Windows Server
Serwery Aplikacji Bezpieczeństwo w Aplikacjach.NET uruchamianych pod IIS Arkadiusz Popa, WMiI, UŁ.
XML w serwisach webowych. Zapotrzebowanie na serwisy XML.
Obiekty COM Przemysław Buczkowski. Plan prezentacji 1.Wprowadzenie do COM 2.Historia standardu 3.Jak działa COM 4.Interface IUknown 5.Paradygmaty COM.
Połączenia aplikacji Klient/Serwer
Programowanie Zaawansowane
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Bartosz Pawlak Wiktor Paliwoda Bezpieczeństwo Systemów Operacyjnych IMAP vs POP.
Maciej Wierzchowski Mariusz Sołtysiak. Założenia  Autentykacja użytkownia  Autentykacja dostawcy  Zapewnienie bezpiecznego połączenia.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Zarządzanie stanem w aplikacjach ASP.NET Elżbieta Mrówka-Matejewska
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Sponsorzy: Media:. Sponsorzy: Media: MBUM 9/11/2017 Mikrotik Beer User Meeting Integracja uwierzytelniania tunelu L2TP/IPsec z Microsoft Active Directory.
Sieci komputerowe Usługi sieciowe 27/09/2002.
Aplikacje i usługi internetowe
Zapis prezentacji:

Zarządzanie stanem aplikacji Mechanizm Sesji Aplikacje sieciowe Zarządzanie stanem aplikacji Mechanizm Sesji Zmienne Application i Session

Sposoby wymiany informacji miedzy poszczególnymi żądaniami Parametry żądania (ograniczenia związane z bezpieczeństwem i ilością przesyłanych informacji Cokies Stan Strony (ViewState) Stan aplikacji (zmienna Application) Stan sesji (zmienna Session)

Konfiguracja na poziomie strony Konfiguracja na poziomie kontrolki ViewState Wykorzystywane do zapamiętania stanu kontrolek pomiędzy kolejnymi wywołaniami strony Konfiguracja na poziomie strony Konfiguracja na poziomie kontrolki <%@ Page Language="C#" ... CodeFile="Default2.aspx.cs" ..." EnableViewState="True" %> <asp:TextBox ID="TextBox1" runat="server" EnableViewState="False"></asp:TextBox>

ViewState cd. Property ViewState Właściwość obiektu (kontrolki) Wykorzystanie w funkcjach składowych protected virtual StateBag ViewState { get; } this.ViewState["Text"]; this.ViewState["Text"] = value;

Dostępna dla konkretnego użytkownika Sesja Dostępna dla konkretnego użytkownika Tworzona przy pierwszym żądaniu użytkownika Pomiędzy stronami przesyłany jest identyfikator sesji Stan sesji pamiętany jest na serwerze 1) w procesie serwera, 2) w zewnętrznym procesie, 3) w bazie danych MS SQL, 4) z wykorzystaniem własnej implementacji dziedzicząc od klasy: SessionStateStoreProviderBase.

Domyślnie trzymany w cookie Konfiguracja w pliku web.config Identyfikator sesji Domyślnie trzymany w cookie Konfiguracja w pliku web.config Implementacja sesji bez cookie <configuration> <system.web> <sessionState cookieless="true" regenerateExpiredSessionId="true" /> </system.web> </configuration> http://www.example.com/(S(lit3py55t21z5v55vlm25s55))/orderform.aspx

Konfiguracja trybu pracy mechanizmu sesji InState – w pamięci serwera web StateServer – w zewnętrnym procesie SQLServer – serwer MS SQL Custom – własna implementacja Off – wyłączenie mechanizmu sesji <configuration> <system.web> <sessionState mode="StateServer„ stateConnectionString="tcpip=SampleStateServer:42424" cookieless="false" timeout="20"/> </system.web> </configuration>

Wprowadzanie informacji Session[”NAZWA”] = Wartosc; Zmienna Session Wprowadzanie informacji Session[”NAZWA”] = Wartosc; Odczyt informacji zmienna = (TYP) Session[”NAZWA”] ; Przykład: Session[”Komunikat”] = ”Brak danych”; String s= (String) Session[”Komunikat”] ;

Stan aplikacji Dostępny dla wszystkich użytkowników, Szybki dostęp do zmiennych trzymanych w pamięci procesu aplikacji, Wrażliwy na restart aplikacji (np. Przy zmianie pliku web.config), Nie jest współdzielony pomiędzy różnymi instancjami aplikacji (w przypadku farmy serwerów, czy kolejnych instacji na jednym serwerze), Może być wykorzystywany przez wiele wątków aplikacji. Należy stosować metody Lock i UnLock.

Wykorzystanie zmiennej Application Zapis: Odczyt: Application["Message"] = "Welcome to the Contoso site."; Application["PageRequestCount"] = 0; Application.Lock(); Application["PageRequestCount"] = ((int)Application["PageRequestCount"])+1; Application.UnLock(); if (Application["AppStartTime"] != null) { DateTime myAppStartTime = (DateTime)Application["AppStartTime"]; }

Session_OnEnd (działa w trybie InProc) Zdarzenia Session_OnStart Session_OnEnd (działa w trybie InProc) <script language="C#" runat="server"> public void Application_OnStart() { Application["UsersOnline"] = 0; } public void Session_OnStart() { Application.Lock(); Application["UsersOnline"] = (int)Application["UsersOnline"] + 1; Application.UnLock(); public void Session_OnEnd() { Application["UsersOnline"] = (int)Application["UsersOnline"] - 1; </script>