Turvenn.no
Webutvikler kurs ASP.NET, C#, CSS mm.

WebRessurs.no - Webprogrammering og ressurs innen ASP, ASP.NET, PHP, SQL, HTML, CSS, Javascript, XML, C#, VB, Flash  mm.

Brukernavn: 
Passord:

Registrèr deg Glemt passord?
Logg deg inn




  ASP.net (199)
  ASP 3.0 (111)
  PHP (30)
  HTML (66)
  SQL (89)
  CSS (46)
  XML (7)
  JavaScript (78)
  Diverse kode (13)


  Programmering (22)
  System og drift (15)
  Trafikk og inntekt (11)
  Guider og tips (22)
  Nyttig lesestoff (23)
  Web forum (604)
  Link galleri (565)


  ASP.NET kurs(5)
  CSS kurs (2)
  JQuery kurs (2)


  Øk trafikken (8)
  Facebook App. (4)
  Microsoft CEO (6)


  Server & web
  Internett & epost
  Systemverktøy
  Sikkerhet
  Fildeling
  Lyd & media
  Diverse software


  Domenesalg
  Metagenerator
  Websikre farger
  WebMail


  Bli medlem!
  Siste innlegg
  Gjestebok
  Tips en venn
  Kontakt oss
  Forsiden




Kode Artikler
Linker


Mål internetthastigheten din.


Ta ut data fra database, legge i Generic Collection og benytte cache for økt ytelse

av Øyvind A. Isaksen
 
I dette kodeeksemplet oppretter vi en klasse vi kaller "Blog". I denne klassen oppretter vi egenskapene "BlogId", "UserId" og "Title". Vi viser så hvordan man tar ut data fra databasen, og oppretter en generic collection som vi fyller med data (blogger). Denne collection legger vi inn i  cache'n, samtidig som vi binder den til en repeater kontroll. Neste gang man forsøker å laste siden vil koden se at vår collection allerede ligger i cache, og vi henter så dataene derfra. Dette er smart for å minimere database-trafikken, noe som igjen gir økt ytelse!

------------------------------
Default.aspx
------------------------------

<asp:Repeater runat="server" ID="repMostActiveBlogs">
<ItemTemplate>
<li>
<a href='Minside.aspx?UserId=<%# ((Blog)Container.DataItem).UserId %>'><%# ((Blog)Container.DataItem).Title%></a>
</li>
</ItemTemplate>
</asp:Repeater>


------------------------------
Default.aspx.cs
------------------------------

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Collections.Generic;

namespace MinSide.Blog
{
public partial class MostActive : System.Web.UI.UserControl
{

private int _numberOfBlog;
public int numberOfBlogs
{
get
{
if (_numberOfBlog > 0)
{
return _numberOfBlog;
}
return 10;
}
set
{
_numberOfBlog = value;
}
}


protected void Page_Load(object sender, EventArgs e)
{
getMostActiveBlogs(numberOfBlogs);
}


public class Blog
{
public int BlogId;
public int UserId;
public string Title;
}


void getMostActiveBlogs(int inputNumberOfBlogs)
{
string CacheKey = string.Format("MostActiveBlogs");
System.Web.Caching.Cache cache = HttpRuntime.Cache;

if (cache.Get(CacheKey) == null)
{
SqlConnection conn = new SqlConnection(Common.ConnString);
SqlCommand cmd = new SqlCommand("spBlogMostActive", conn);
cmd.CommandType = CommandType.StoredProcedure;

SqlParameter numberOfBlogs = new SqlParameter("@numberOfBlogs", System.Data.SqlDbType.SmallInt);
numberOfBlogs.Value = inputNumberOfBlogs;
cmd.Parameters.Add(numberOfBlogs);
cmd.Connection.Open();

SqlDataReader dr = cmd.ExecuteReader();
List<Blog> BlogCollection = new List<Blog>();

while (dr.Read())
{
Blog blog = new Blog();
blog.BlogId = int.Parse(dr["intUserID"].ToString());
blog.UserId = int.Parse(dr["intBlogID"].ToString());
blog.Title = dr["strBlogName"].ToString();
BlogCollection.Add(blog);
}

cache.Insert(CacheKey, BlogCollection);

this.repMostActiveBlogs.DataSource = BlogCollection;
this.repMostActiveBlogs.DataBind();

cmd.Connection.Close();
cmd.Dispose();
conn.Dispose();

}
else
{
this.repMostActiveBlogs.DataSource = cache.Get(CacheKey);
this.repMostActiveBlogs.DataBind();
}
}
}
}

WebRessurs.no anbefaler:    StackOverflow.com | Experts-Exchange.com | W3schools | ASP.NET | Codeproject | 4Guys
WebRessurs.no er utviklet og drives av SoftMaker
Sett som startside: [ ]. Bokmerk denne siden: [ klikk ]. Sitemap. http://twitter.com/webressurs_no/. Antall brukersesjoner: 14838752.
Copyright WebRessurs.no © 2003 - 2018
Jobbsøk.no - Jobbsøknad, CV, intervju, tips og lenker