avatar
Today is Friday
October 18, 2019

Search Results Archives: March 2007

March 27, 2007

Aan de slag met Visual Studio “Orcas” March 2007 CTP

by tsnoei — Categories: Uncategorized — No Comments - Afdrukken Afdrukken

De nieuwe versie van Visual Studio staat qua RTM (Release To Manufacturer) vooralsnog gepland tussen eind 2007 en begin 2008. Ik vondt het wel tijd worden om eens een kijkje te nemen in deze opvolger van de VS 2005. In dit artikeltje vindt je wat ervaringen met de installatie van de jongste CTP.

Op deze pagina kan Microsoft Pre-release Software Visual Studio Code Name “Orcas” – March 2007 Community Technology Preview (CTP) worden gedownload. Schrik niet het gaat om ongeveer 10Gb. Ik heb hiervoor Mozilla gebruikt met de DownThemAll plugin (onder IE was de dowloadsnelheid namelijk dramatisch laag +/- 40Kb/sec). De download bestaat uit de volgende onderdelen:

  • Virtual PC (18Mb)
  • Base “Orcas” Image voor Virtual PC (1.2Gb)
  • “Orcas” March 2007 CTP Image voor Virtual PC (6Gb)


  • Reserveer op je systeem +/- 26Gb, dat betekent 8Gb voor de download en +/- 18Gb voor het extracted image. Daarnaast is het handig om toch wel op zijn minst 1Gb geheugen in je PC te hebben. Na extractie kan de March 2007 CTP image worden gestart met behulp van Virtual PC. De image is heel compleet en bevat o.a.:

  • Windows 2003 Server (OS)
  • SQL Server 2005
  • Visual Studio “Orcas” Team System met WinFX ondersteuning


  • Na het opstarten van Virtual PC kun je naar hartelust experimenteren met alle WinFX onderdelen en nieuwe C# 3.0 taalfeatures zoals LINQ.

    Volgende artikeltje wil ik een en ander vertellen over LINQ en DLINQ.

    March 25, 2007

    LinkButton disable na click (dubbel opslaan voorkomen)

    by tsnoei — Categories: Uncategorized — No Comments - Afdrukken Afdrukken

    Bij het bouwen van ASP.NET applicaties een bekend fenomeen, je wilt na het opslaan van gegevens niet dat de gebruiker nogmaals op “opslaan” kan klikken om te verkomen dat er meerdere entries worden opgeslagen. Dit probleem kan voorkomen als de verbinding traag is of de server niet erg snel reageert. De oplossing: vul de OnClientClick property van de LinkButton met het volgende javascript:

    this.disabled=true;this.onclick=function(){return false;}

    this.disabled = true zorgt voor het disablen van de link. this.onclick=function(){return false} knoopt een event aan de button. Dit event retourneert bij de eerstvolgende click false en de click (save) wordt dan ook echt niet meer afgehandeld.

    Wil je deze oplossing gebruiken schakel dan wel client-side script validatie uit (property: EnableClientScript) voor alle controls van het betrokken scherm.

    March 23, 2007

    Woordenlijst

    by tsnoei — Categories: Uncategorized — No Comments - Afdrukken Afdrukken

    CTP – Community Technology Preview

    March 17, 2007

    Visual Studio 2003 installeren na Visual Studio 2005

    by tsnoei — Categories: Uncategorized — No Comments - Afdrukken Afdrukken

    Onlangs had ik het probleem dat ik toch nog Visual Studio 2003 nodig had nadat Visual Studio 2005 al was geinstalleerd. Simpelweg VS 2003 CD in de drive en installeren werkt niet. Na het installeren van de prerequisites blijft de setup zeuren om de installatie van… je raadt het niet… de prerequisites.

    De oplossing vond ik op het blog van Mark Fletcher. Het komt er op neer dat je de setup start vanaf de commandline. Dus:

  • Start Menu
  • Uitvoeren
  • “cmd”
  • Navigeer naar de CD-ROM/DVD drive (dus: [cddrive]:)
  • Navigeer naar de directory setup (dus: “cd setup”)
  • setup.exe /NO_BSLN_CHECK
  • Console1.JPG

    Nu wordt de prerequisites check overgeslagen en de setup zoals gewenst uitgevoerd.

    March 14, 2007

    Generieke database Membership- en RoleProvider

    by tsnoei — Categories: Uncategorized — No Comments - Afdrukken Afdrukken

    Tja, handig zo’n generieke datalaag (zie: SQL & Objects in the mix, een Object Relational Mapper (ORM)) maar dan moet je er in de praktijk wel iets mee gaan doen. Welnu, hier een praktijkvoorbeeld voor de toepasbaarheid van de generieke ORM.

    VisitorTracker.pngOp dit moment ben ik bezig met een zogenaamd pagecounter projectje (vrijetijdsbesteding). Niet zo maar een ding, maar een echte tracker die probeert zoveel mogelijk gegevens te verzamelen van een willekeurige bezoeker. Daar binnenkort meer over. Echter naar aanleiding daarvan had ik een beveiligd login gedeelte nodig. Dan komt al gauw de .NET MembershipProvider om de hoek kijken. Ik dacht weet je wat, misschien leuk om eens een MembershipProvider te bouwen op basis van de bovengenoemde OR Mapper.

    De OR Mapper is gebaseerd op het providerfactory model in .NET. Dit betekent praktisch dat je ergens in bijv. een configuratiebestand kan vastleggen welke databaseprovider je wilt gebruiken (System.Data.SqlClient, System.Data.OleDb, System.Data.Odbc etc…) met welke connectionstring en vervolgens kan je met deze gegevens je objecten opslaan en ophalen uit elke willekeurige database, mits je hierin natuurlijk wel even vooraf de tabellen juist definieert.

    De hier beschreven (en te downloaden) membership- en roleprovider hebben als voordeel dat ze niet op een bepaalde databaseprovider of database zijn gebaseerd maar generiek inzetbaar zijn voor elke willekeurige database van MySQL tot SQL Server. Dit is dus duidelijk een verbetering ten opzichte van de membership- en roleprovider beschreven in een eerder blog artikel. De providers zijn bruikbaar met ASP.NET configuratie tool zodat rollen en gebruikers kunnen worden aangemaakt via deze Microsoft interface (Menu: Project > ASP.NET Configuration). Bovendien zijn er in de toolbox een aantal controls te vinden die direct overweg kunnen met deze providers zoals de Login control.

    Het maken van een Provider is een vrij simpele aangelegenheid. Er dient een class te worden gecreeerd die erft van het juiste abstracte providertype. Voor de membershipprovider is dit “MembershipProvider” en de roleprovider is dit “RoleProvider”. Vervolgens dienen simpelweg de abstracte methoden geimplementeerd te worden. In de MSDN documentatie is de benodigde informatie te vinden over de te implementeren methoden.

    Om de providers te kunnen gebruiken dient de web.config van de ASP.NET 2.0 applicatie als volgt te worden gedefinieerd (voorbeeld):

    <configuration>
    <system.web>
    <membership defaultProvider="ORMMembershipProvider">
          <providers>
            <clear/>
            <add name="ORMMembershipProvider" type="snoei.net.web.ORMMembershipProvider" ConnectionString="DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=visitortracker;USER=root;PASSWORD=root;" Provider="System.Data.Odbc" ApplicationName="VisitorTracker"/>
          </providers>
        </membership>
        <roleManager enabled="true" defaultProvider="ORMRoleProvider">
          <providers>
            <clear/>
            <add name="ORMRoleProvider" type="snoei.net.web.ORMRoleProvider" ConnectionString="DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=visitortracker;USER=root;PASSWORD=root;" Provider="System.Data.Odbc" ApplicationName="VisitorTracker"/>
          </providers>
        </roleManager>

    Onderaan dit artikel vindt je een link waarmee de source en binaries van de membership- en roleprovider kunnen worden gedownload. In de zip zitten de volgende onderdelen:

  • snoei.net.utilities.data.orm – De laatste versie van de OR Mapper
  • snoei.net.web – De assembly die zowel de membership- als roleprovider bevat.
  • web.config – Voorbeeld configuratiebestand voor het configureren van de beide providers.
  • Sources – Uiteraard de source code.
    (Voor de duidelijkheid snoei.net.web heeft dus een referentie nodig naar snoei.net.utilities.data.orm)
    De providers zijn enkel getest met MySQL maar zouden theoretisch uit de voeten moeten kunnen met elk soort database die wordt ondersteund door .NET. Mocht je problemen constateren dan hoor ik dat graag (en natuurlijk ook als je het fantastisch vindt werken ;-) )

    Download RoleEnMembershipProvider.zip, Download MySQL tabelstructuur

  • © 2019 Snoei's .NET blog All rights reserved - Wallow theme v0.44 by ([][]) TwoBeers - Powered by WordPress - Have fun!