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


Spara en array i application("")

Postades av 2006-05-10 00:39:59 - David Johansson, i forum arkitektur, Tråden har 5 Kommentarer och lästs av 996 personer

Hej
Jag har en del listor som är globala. Listorna sprarar jag som array och i application.

application("lista") = strLista

Detta fungerar mycket bra (snabbt som bara den) och jag slipper hämta från databas varje gång en användare vill se på listan.

Nu till frågan:
Nu stora listor kan jag spara på detta visset innan det börjar sega ner servern? idag har jag nog en lista på 1000 rader.

Någon som har erfarenhet av detta? Bra eller dåligt.

mvh

David


Svara

Sv: Spara en array i application("")

Postades av 2006-05-10 02:09:43 - André Claesson

Det beror naturligtvis på serverns kapacitet, om det är den enda sidan som körs från servern, hur många samtidiga användare du har och framförallt serverns RAM-minne som håller listan medan den används.
En gissning är att du utan problem kan köra listor på några hundra tusen.


Svara

Sv:Spara en array i application("")

Postades av 2006-05-10 07:59:06 - David Johansson

tack för svaret, det var det jag ville höra.

/David


Svara

Sv: Spara en array i application("")

Postades av 2006-05-10 08:06:15 - Johan Normén

Hej,

Delar du listan mellan flera sidor eller bara på en sida? För då kan du använda cache-hanteringen i ASP .Net istället för att nyttja Application, det medför lite mer "ren" kod så att säga. OBS! Endast om
det används på en sida. Delar du mellan flera sidor är Application helt ok. Dock skulle jagförseslå designmässigt att du bygger en egen liten klass som nyttjar applikation för att öka spårbarheten.

Ex.

IList customerList = CacheLists.Customer();
IList userOnlineList = CacheLists.UserOnline();

class CahceLists
{
public static IList Customer()
{
return ( (IList)Application["Customer"]);
}
...

Ang hur mkt och många poster du kan spara har du redan fått ett bra svar på. Men Måste du spara listor på detta sätt har du så stora prestanda problem så du inte kan hämta in dem varje gång?
Det är väldigt vanligt att man spenderar 80% av sin utv tid helt i onödan på att bygga optimalkod som inte behövs. Mitt tips är att du först kodar det du vill göra ha en bra OO modell. Om prestandan inte räcker åt när man är klar och gör tester då kan man börja optimera de ställen som går trögt istället för spendera tid på alla ställen helt i onödan. Du kommer bli förvånad över hur fort du kommer bli klar i tiden genom detta arbetssätt. YAGNI som det kallas. (You Aren't Gonna Need It).

Ex. Gör en klass för varje Lista, antar att listorna innehåller något som kan binda listan till sin egna klass. Ex Customer, Article, Invoice... Gör en metod som hämtar listan. Gå mot databas för att fylla listan. Anropa alltid denna metod när du vill ha listan istället för Application[""] syntax. Gör prestanda tester håller inte måtten efter kunden eller dina krav då kan du enkelt bara lägga till lite optimering i din metod i efterhand där du ser till så listan bara läser in en gång. Du behöver då inte ändra koden i UI som anropar dina Listor utan bara ändra lite lätt koden inne i metoden som ger dig listorna.

Mvh Johan


Svara

Sv:Spara en array i application("")

Postades av 2006-05-10 12:57:46 - David Johansson

Tack för svaren. Jag kodar inte .NET utan gammal ASP.

Prestandavinsten jag gjorde med detta var enorm, därför vill jag använda detta sätt på flera funktioner.

mvh

David


Svara

Sv: Spara en array i application("")

Postades av 2006-05-11 09:08:32 - Andreas Hillqvist

Om ett "Race condition" kan uppstå bör du låsa appliakationen när du uppdaterar din globala variable.

Jag antar att du läser in variablerna i Application start?
Listan finns sparad i en databas?
Om någon lägger till en ny post i listan för datasen, uppdaterar du listan från databasen?

Jag tror då risken för "Race conditions" är minimal.

"Race conditions" är mer troligt att inträffa om man har:

<%
Application("visits")=Application("visits")+1
%>


Då asp är trådat kan en request hämta visits, avbrytas för en annan tråd som hämtar visits och skriver över med visits+1. Den första requesten får fortsätta oc uppdaterar visits med samma värde.

Just för besökare är det ju ingen kritisk funktionalitet. Men det kan ställa till det i andra situationer.

För att undvika det skriver man:
<%
    Application.Lock
    Application("visits")=Application("visits")+1
    Application.Unlock
%>


Lock/Unlockfungerar som en mutex/semaphore.


Svara

Nyligen

  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av

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 570 864
27 962
271 767
391
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