ASPNL logo (1 kb)
Friday, September 03, 2010




Microsoft MVP

.NET Codewise Community
<< vorige | overzicht | volgende >>

Introductie tot ASP.NET "gereedschapskist"

Ontwerp en meeste codeerwerk door Charles Carroll en het ontwikkelteam van de "gereedschapskist".
23 februari 2003

Hergebruik van code is ERG BELANGRIJK, maar mijn ervaring is dat de meeste beginnende programmeurs code niet herbruiken in hun eerste 6 maanden programmeren. Deze "gereedschapskist" bibliotheek is zo ontworpen dat beginnende programmeurs hem makkelijk kunnen gebruiken. Veel werk ging in het maken van het makkelijk aanroepen van de bibliotheek zonder een aaneenschakeling van gerelateerde aanroepen. We willen dat beginnende programmeurs onmiddellijk code herbruiken terwijl ze ASP.NET leren. We hebben daarom de "gereedschapskist" ontwikkeld met onweerstaanbare redenen om 'm te gebruiken!

  • Verminder aantal coderegels met 70% in de meeste gevallen. Maak krachtige applicaties met weinig code.
  • Snellere applicaties omdat caching makkelijk en inzichtelijk is. Alle "gereedschapskist" opdrachten die data ophalen uit de database ondersteunen caching door het instellen van 1 eigenschap in plaats van het veranderen van 10-tallen query aanroepen in je programma.
  • Hele goede foutopsporing om te voorkomen dat bronnen niet goed gebruikt worden, maximale debugging te geven in crisis situatie, en om te emailen en/of runtime fouten te loggen zodat je van alles op de hoogte bent en niet alleen van datgene de gebruikers je melden.

De "gereedsschapskist" manier om grids te vullen (3 regels of minder)

Dim strConn as string="whatever.mdb"
Dim strSQL as string="select * from publishers where state='NY'"
ub1.DbPopulate(strConn,strSQL,MyDataGrid)

De manier waarop de meeste mensen het doen (10 regels)

Dim DS As DataSet
Dim MyConnection As OLEDBConnection
Dim MyCommand As OLEDBDataAdapter

MyConnection = New OLEDBConnection("....")
MyCommand = New OLEDBDataAdapter("select * from publishers where state='NY'", MyConnection)

DS = New DataSet()
MyCommand.Fill(ds, "NYStateOfMind")

MyDataGrid.DataSource=ds.Tables("Authors").DefaultView
MyDataGrid.DataBind()
MYConnection.Close()

De manier waarop ze het hadden moeten doen! (26 regels)

Dim Conn As OLEDBConnection
Dim Cmd As OLEDBCommand
Dim Rdr As OLEDBDataReader
TRY
   Dim strConn As string
   strConn="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="
   strConn &= server.mappath("whatever.mdb")
   Dim strSQL As string
   strSQL="select * from publishers where state='NY'"
   Conn=New OLEDBConnection(strConn)
   Cmd=New OLEDBCommand(strSQL,Conn)
   Conn.Open()
   Rdr=Cmd.ExecuteReader()
   myDataGrid.DataSource = Rdr
   myDataGrid.DataBind()
CATCH ex1 as exception
      page.Add.controls(new literalcontrol(exc1.message)
FINALLY
      IF Not(rdr is nothing)
         If Rdr.IsOpen THEN rdr.close()
      END IF
      IF Not(rdr is nothing)
         If Rdr.IsOpen THEN rdr.close()
      END IF
END TRY

Wat kan de "gereedschapskist" doen?

  • Databases uitlezen met een query lezen door 1 aanroep - en de gegevens direct in een controle, array of datatables inlezen.
  • Switchen tussen Access en SQLserver zonder code te veranderen. Alle database aanroepen zijn niet apart. Het analyseert connectie strings en gebruikt de juiste onder de kap.
  • Databases queries of Web Pagina's cachen met 1 extra regel in je code! Geen veranderingen aan de honderden queries in je programma nodig, zelfs als je ze allemaal wilt cachen.
  • Email versturen vanuit je applicatie zonder dat je de veel voorkomende paramater fouten maakt.
  • High Speed Email mode met slechts 1 eigenschap set. Stopt bestanden in mail pickup directory en vermijdt SMTP geheel.
  • Pakt webpagina's met 1 aanroep. Cache ze om het 150 x sneller te maken.
  • Haal product details op van Amazon.
  • Vereenvoudigt debuggen door Xrays van datatables, hashtables, elk gebruikt SQLcommand, enz.. 100 x krachtiger dan trace.warn and trace.write. En in tegenstelling tot trace hoef je ze nooit uit te commentarieren; ze kunnen makkelijk uitgezet worden in groepen.
  • Laat je complexe websites meer lopen als een boek met boek stijl "inhoudsopgave" en vorige/volgende pagina widgets.

Demo's van de "gereedschapskist" - geweldige voorbeelden om te stelen
http://www.learnasp.com/freebook/learn/?caller=utilitybelt§ion=Utility+Belt+-+Demos

1 bibliotheek bestand om uit te knippen en plakken (dat klopt 1!)
http://www.learnasp.com/freebook/learn/utilitybelt_lib.aspx

Gratis Email Tech Support
"gereedsschapskist" Hulp, Preview Nieuwe versies
http://groups.yahoo.com/group/AspNetUtilityBelt

© Charles Carroll (vertaling copyright ASPNL)

<< vorige | ^ naar boven | overzicht | volgende >>
copyright 2000-2007 ASPNL