Jag har skapat ett par kontroller som hämtar data från dels databas och textfiler. Eftersom datauppdateringen görs på servern och det som visas i kontrollerna på skärmen ligger på klientsidan så måste sidan laddas om för att hämta ny data på servern. citat: webkontroller fungerar ungefär som include filer gjorde i ASP, om du har jobbat med ASP. Yepp att det funkar som include i "gamla" ASP har jag greppat, det som jag kanske inte riktigt var det som jag undrade ovan: Nej, du ska inte cacha dina datatabeller. Det är ju dom som skall uppdateras hela tiden. Om du cachar dom får du aldrig in någon ny data. Aha ett litet missförståndKontroll eller iFrame för att automat-uppdatera?
Denna data lagrar jag i Cacheobjekt för att minska belastning på db och nättrafik.
Dessa data skall uppdateras med olika intervall (dbdata var tionde sekund, textfilsdata var 20 minut)
Det som kontrollerna visar är egentligen enbart en siffra baserat på rena värden och kalkylerade värden.
Dessa siffror skall visas på en websida som skall läggas upp på tvskärmar på arbetet, de visar olika former av statistik som påloggade handläggare, hur många kunder som finns i kö mm
Min fråga är:
Vad skall jag egentligen göra för att få visningen så smidig som möjligt?
Skall jag automatuppdatera (META REFRESH) hela sidan var tionde sekund, eller kan jag på nåt sätt styra så att kontrollerna "får eget liv" och automatiskt uppdateras?
Eller måste jag lägga kontrollerna i en egen aspxsida och sätta autouppdatering på den sidan, och lägga in den i en iframe?
Som jag ser det hade det smidigaste varit om kontrollen kunde uppdatera sig själv, för att slippa alla iframes.
Tar tacksamt emot alla tipsSv: Kontroll eller iFrame för att automat-uppdatera?
Det första jag kommer att tänka på är att du, som du säger, lägger en META Refresh på den sida som innehåller kontrollerna.
Om man använder en osynlig IFrame, som Agenten här på Pellesoft, som ligger och refreshar hela tiden så får du ändå problemet att du måste få den nyss hämtade datan från IFramen till sidan med kontrollerna. Det går att göra sådana saker med JavaScript för att då slippa att sidan laddas om, men jämfört med META Refreshen så är det kanske onödigt komplicerat.
Gör ett test först med META Refresh så att du ser hur lång tid omladdningen av sidan tar så att det inte blir onödigt långa laddningstider. Då kommer sidan ligga och blinka hela tiden.
Rekommenderar även att du lägger statiska delar i web user controls, då kan du nämligen göra en output cache på de kontrollerna så de inte behöver laddas om. Då kommer bara kontrollerna med dynamiskt innehåll att blinka till, om det inte tar lång tid att hämta data.
Prova de olika sätten och se vilket som funkar bäst.Sv: Kontroll eller iFrame för att automat-uppdatera?
Rekommenderar även att du lägger statiska delar i web user controls
Du får gärna berätta mer /skicka länk om den biten eftersom jag inte riktigt känner mig säker på den tekniken
Som det är tänkt skall datat visas i en tabell, skall jag göra tabellen som en webcontroll, och sedan inkludera mina "siffer-kontroller" i den kontrollen?Sv: Kontroll eller iFrame för att automat-uppdatera?
Med andra ord, om du t.ex. har en header och en meny på sidan så kan du lägga dessa i kontroller som du sedan lägger in i sidan med datakontrollerna.
I webbkontrollerna sätter du högst upp <%@ OutputCache Duration="60" VaryByParam="none" %>
Där 60 är tiden du vill hålla den cachad.Sv: Kontroll eller iFrame för att automat-uppdatera?
Om jag skall presentera mitt data i en tabell, skall jag göra enbart tabellen som en webcontrol och sätta den med cache, och sedan lägga in mina sifferkontroller i den "tabell-kontrollen"?
Föklarar kanske som en sopa...=)Sv: Kontroll eller iFrame för att automat-uppdatera?
Det du ska bygga in i kontroller som du cachar är om du har något annat på sidan, t.ex. en meny eller en header.
Om du bara har datatabellerna (DataList, Repeater, DataGrid?) på sidan så behöver du inte bry dig om kontroller och output cache.Sv: Kontroll eller iFrame för att automat-uppdatera?
Det jag menade i detta läge med tabeller, var en helt vanlig <table>
Det var den jag funderade på om det är lönt att skapa en webcontrol av.
Skall gnugga vidare, det som idag är probelmet är att jag inte får tillgång till den skarpa databasen med data, så jag kan inte för närvarande köra prestandatester mot "riktigt" data, utan kör mot en SQLdb som har samma struktur som den Oracledb som jag skall gå mot.