Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Viewstate vs Session

Postades av 2008-09-16 09:25:34 - Fredrik Dyrwoolf, i forum asp.net generellt, Tråden har 8 Kommentarer och lästs av 1482 personer

Hej,

Jag håller på att skriva en massa webcontroller och utgår ifrån några exempel jag hittade på webben.
Där används viewstate för att hålla kontrollens datasource.
Min datasource som jag bygger upp blir rätt stor och då blir även viewstate det, När jag använder flera kontroller tillsammans så kommer jag i ett läge upp i 1 mb, detta känns lite väl mycket :).
MEN om jag byter ut viewstate mot HttpContext.Current.Session så kommer jag ner i 200 k, och funktionaliteten verkar intakt.
Om jag förstått det hela rätt så är viewstate enbart en postvariable som skickas fram och tillbaka till sidan om och om igen. Men session sparas på servern, och om jag använder mig av den så kommer ingen onödig information skickas fram och tillbaka.
Stämmer detta eller har jag missat nått?
Och om det stämmer varör skall man någonsin använda sig av viewstate istället för session?


Svara

Sv: Viewstate vs Session

Postades av 2008-09-16 11:21:43 - Ola Lindfeldt

Det stämmer väl ungefär. En IIS-session är default 20 min så efter 20 min så kommer du tappa allt tillstånd i applikationen om den helt förlitar sig på att spara tillståndet i Session.
En annan sak är skalbarhet: Om du har en riktigt stor sajt med tusentals träffar/sekund vill man inte lägga för mycket i Session (dvs serverns RAM-minne, som är begränsat). Generellt håller man inte tillstånd på så mycket som 1 MB. Om du har en stor grid (en tabell) som oftast repopuleras vid postback t.ex. när användaren filtrerar data, så är det lika bra att stänga av Viewstate och låta gridden återskapas vid varje postback.


Svara

Sv: Viewstate vs Session

Postades av 2008-09-16 12:26:19 - Andreas Thorarins

vad är det för typ av data du lagrar i viewstate som tar så mycket plats?

du kan göra en egen viewstate hantering som skriver ner den på servern så slipper du de problem som kan uppstå med förstora sessions.

i den här artikeln http://msdn.microsoft.com/en-us/library/ms972976.aspx
under rubriken "Specifying Where to Persist the View State" kan du hitta hur du gör för att spara viewstate på servern i stället för att skicka det till klienten


edit: Finns snyggare och enklare lösning i asp.net2.0

http://msdn.microsoft.com/en-us/library/aa479403.aspx


Svara

Sv:Viewstate vs Session

Postades av 2008-09-24 13:57:02 - Fredrik Dyrwoolf

Tackar, den sista artikeln där var itnressant.


Svara

Sv:Viewstate vs Session

Postades av 2008-10-10 22:38:48 - Fredrik Normén

Jag måste säga att jag håller med Ola lite här.. (btw Ola, jag antar att du vet att det är först 20 min efter att användaren senast avände sin session som den tappar tillståndet, så länge användaren kör mot en Session så lever den, kör med "sliding".

Att lägga data i en Session kan leda till värre problem än att ha datan i en ViewState.. så ett tips, spara inte ner det i Session.. stäng av ViewState för din kontrol och se till att hämta data varje gång istället.. för default så kommer all data som visas i GridView att läggas i ViewState, enbart för att slippa göra en data access när det görs en postback. Detta har MS gjort för att slippa fråga databasen efter ny data vid en postback (viilket kan öka prestandan), men har du så mkt data som i Mb så låter det inte så bra att skicka den datan från och till servern och det är ABSOLUT inte bra att lägg det i en Session. Det finns så många robottar och "competitive inteligence companies" (föratag som kör request för att plocka ut data) som kan access din site och för varje access så skapas en ny session, samma för alla användare etc. Det kan gå väldigt snabbt att få en OutMemoryException om du har otur. Om du lägger saker i en Session så kör då med Weakreference, då kan Garbage Collection kan ta och rensa bort din data om det behövs mer minne till något annat, samt lägg så lite som möjligt i en Session.

Mvh Fredrik Normén
ASP.Net MVP MEET ASPInsider

http://weblogs.asp.net/fredriknormen


Svara

Sv: Viewstate vs Session

Postades av 2008-11-26 07:51:28 - Anders Pettersson

Finns det något bra verktyg för att analysera vad som finns i en sidas Viewstate? Vet med mig att vår site skickar flera dataset fram och tillbaka men vore kanon att se innehåll och storlek av dessa.


Svara

verktyg föratt se viewstate

Postades av 2008-11-26 12:02:12 - Jon Wiberg

Ja det finns det
se svaret i din sepparata tråd.
http://www.pellesoft.se/communicate/forum/view.aspx?msgid=274520&forumid=10&sum=1#274525


Svara

Sv: Viewstate vs Session

Postades av 2008-11-26 23:38:07 - Gert Lindholm

Om man har en UserControl som genererar en GridView på 100 rader så blir min sida 389 kb om man klickar på visa källa och sparar filen som .txt. Själva ViewState är på 122 kb av den sidan.

Testade med exemplet i http://msdn.microsoft.com/en-us/library/aa479403.aspx
Men den klagar på att jag kör sidan i en .ascx. Hur kan man göra för att komma runt det?


Svara

Sv:Viewstate vs Session

Postades av 2008-11-27 09:23:04 - Fredrik Normén

Om du har en GridView i en User Control (.ascx) så kommer den lägga sin "control state" i sidans ViewState, alltså den sida som din User Control finns på. Så det är på Web Form nivå som du måste hantera ViewStaten.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 165
27 952
271 704
1 930
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies