<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Scott Guthrie's Blog in Dutch</title><link>http://weblogs.asp.net/scottgudutch/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>ASP.NET MVC Preview 4 release, part 1</title><link>http://weblogs.asp.net/scottgudutch/archive/2008/07/24/asp-net-mvc-preview-4-release-part-1.aspx</link><pubDate>Thu, 24 Jul 2008 10:00:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6438444</guid><dc:creator>Joeri Pansaerts</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottgudutch/rsscomments.aspx?PostID=6438444</wfw:commentRss><comments>http://weblogs.asp.net/scottgudutch/archive/2008/07/24/asp-net-mvc-preview-4-release-part-1.aspx#comments</comments><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Het ASP.NET MVC team is de laatste hand aan het leggen aan&amp;nbsp;de nieuwe 'Preview 4' release die&amp;nbsp;het later op de week hoopt uit te brengen. De&amp;nbsp;&lt;A href="http://weblogs.asp.net/scottgu/archive/2008/05/27/asp-net-mvc-preview-3-release.aspx" target=_blank mce_href="http://weblogs.asp.net/scottgu/archive/2008/05/27/asp-net-mvc-preview-3-release.aspx"&gt;&lt;FONT color=#0000ff&gt;Preview 3&lt;/FONT&gt;&lt;/A&gt; release was vooral gericht op de afwerking van vele onderliggende centrale API's en uitbreidbaarheidsfactoren in&amp;nbsp;ASP.NET MVC.&amp;nbsp;Als je deze week start met de Preview 4, dan zal je meer en meer functies ontdekken die gebouwd zijn op de centrale funderingen en&amp;nbsp;die&amp;nbsp;heel wat productiviteit toevoegen.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Er zijn een aantal nieuwe functies en mogelijkheden in deze nieuwe versie, zoveel zelfs dat ik heb beslist om ze te verdelen over twee posts. De eerste post zal de nieuwe Caching, Error Handling en Beveilingsfuncties behandelen, alsook enkele testverbeteringen. In mijn volgende post komen de nieuwe AJAX functies aan bod die in deze release aanwezig zullen zijn.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0cm"&gt;&lt;U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Filter Interceptors begrijpen&lt;/SPAN&gt;&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Action Filter Attributen&amp;nbsp;houden veel&amp;nbsp;potentieel in wat uitbreidbaarheid betreft in ASP.NET MVC die overigens voor het eerst werd&amp;nbsp;geintroduceerd met&amp;nbsp;de&amp;nbsp;"Preview 2" release.&amp;nbsp;&amp;nbsp;Met deze attributes kan je code&amp;nbsp;toevoegen aan de&amp;nbsp;request van een MVC Controller. Deze code kan&amp;nbsp;uitgevoerd worden&amp;nbsp;voor of na een Controller of diens Action methods uitvoering.&amp;nbsp;Hierdoor&amp;nbsp;kan je gemakkelijk functionaliteit&amp;nbsp;groeperen en hergebruiken&amp;nbsp;op een mooie declaratieve manier.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;HIeronder vind je een voorbeeld van een supereenvoudige&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;"ScottGuLog" filter die ik zou kunnen gebruiken om details te loggen over exceptions die opgedoken zijn tijdens de uitvoering van een request. Een custom filter implementeren is gemakkelijk, je moet de "ActionFilterAtribute' in een sub classe steken en de nodige methodes overriden om de code uit te voeren voor of nadat een Action method is aangevraagd op de Controller en voor of nadat een ActionResult in een antwoord wordt verwerkt. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1025 src="http://www.scottgu.com/blogposts/mvcpreview4/step1.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step1.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Een filter gebruiken in een ASP.NET MVC Controller is&amp;nbsp;gemakkelijk. Je moet het gewoon declareren als een attribuut op een Action Method, of op de Controller&amp;nbsp;class zelf (in dat geval zal het van toepassing zijn &lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;op alle&amp;nbsp;Action Methods in de Controller):&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1026 src="http://www.scottgu.com/blogposts/mvcpreview4/step2.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step2.png"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;In het bovenstaande voorbeeld zie je hoe twee filters toegepast worden. Ik heb aangeduid dat ik wil dat mijn "ScottGuLog" toegepast wordt op de 'About' action method en dat ik wil dat de 'HandleError' filter toegepast wordt op alle action methods van de HomeController.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Voorgaande preview releases&amp;nbsp; van ASP.NET MVC maakten deze uitbreidbaarheid van filters mogelijk, maar er waren nog geen voorgebouwde filters aanwezig.&amp;nbsp;ASP.NET Preview 4 bevat nu verschillende handige filters om output caching, errors en beveiliging te behandelen.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;OutputCache Filter&lt;/SPAN&gt;&lt;/U&gt;&lt;/P&gt;&lt;U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;De&amp;nbsp;[OutputCache] filter biedt een gemakkelijke manier om ASP.NET MVC te integreren met de output caching functies van ASP.NET (met ASP.NET MVC preview 3 moest je zelf code schrijven om dit te bereiken).&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Om dit uit te proberen, wijzig de 'Message' waardeset in de 'Index' action method van de HomeController (gecreëerd door de&amp;nbsp;VS ASP.NET MVC project template) om de tijd weer te geven:&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1027 src="http://www.scottgu.com/blogposts/mvcpreview4/step3.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step3.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Als je je applicatie doet werken, dan zul je zien dat de getoonde tijd wordt vernieuwd telkens je de pagina vernieuwt:&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1028 src="http://www.scottgu.com/blogposts/mvcpreview4/step4.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step4.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;We kunnen output caching mogelijk maken voor deze URL door&amp;nbsp;het [OutputCache] attribute toe te voegen aan onze Action Method. We zullen dit zo configuren dat&amp;nbsp;het antwoord 10 seconden lang gecached wordt met de declaratie hieronder:&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1029 src="http://www.scottgu.com/blogposts/mvcpreview4/step5.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step5.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Als je nu op 'pagina vernieuwen' klikt dan zal je zien dat de tijdsaanduiding slechts om de 10 seconden wordt vernieuwd. Dit komt omdat de action method slechts om de 10 seconden aangeroepen wordt. Alle aanvragen tussen deze tijdsintervallen worden uit de ASP.NET output cache gefilterd (dit betekent dat er geen code hoeft uitgevoerd te worden en daardoor gaat het ook supersnel!). Bovenop de ondersteuning van tijdsduur, ondersteunt de OutputCache ook de standaard ASP.NET output cache met gevarieerde opties (varierend op parameters, headers, content encoding en custom logic)&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;.&amp;nbsp;Bijvoorbeeld, het voorbeeld hieronder zou verschillende cached versies opslaan van de pagina, afhankelijk van de waarde van een optionele "PageIndex" QueryString parameter en automatisch de&amp;nbsp;correcte versie genereren afhankelijk van de querystring waarde van&amp;nbsp;de inkomende URL:&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1030 src="http://www.scottgu.com/blogposts/mvcpreview4/step6.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step6.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Je kan ook de Database Invalidation functie integreren in ASP.NET, waardoor je automatisch de cache kan ongeldig maken als een database&amp;nbsp;waar de URL afhankelijk van is, gewijzigd is (tip: de beste manier om dit te doen is een CacheProfile sectie opzetten in je web.config en er dan naar refereren in&amp;nbsp;het OutputCache attribute).&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;H3 style="MARGIN: auto 0cm"&gt;&lt;U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;HandleError Filter&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;De&amp;nbsp;[HandleError] filter biedt een manier om declaratief aan te duiden op een Controller of een Action method dat een vriendelijk error antwoord getoond moet worden als zich&amp;nbsp;een error voordoet tijdens&amp;nbsp;de verwerking van een ASP.NET MVC aanvraag. Om dit uit te proberen, voeg een nieuwe&amp;nbsp;"TestController" toe aan een project en implementeer een action method om een exception te genereren zoals hieronder:&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1031 src="http://www.scottgu.com/blogposts/mvcpreview4/step7.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step7.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Als je je browser naar die URL leidt, dan zal het standaard een standaard ASP.NET errorpagina tonen om gebruikers op de fout te wijzen (tenzij je een &amp;lt;customErrors&amp;gt; sectie hebt gecreëerd in je web.config bestand):&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1032 src="http://www.scottgu.com/blogposts/mvcpreview4/step26.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step26.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;We kunnen de HTML error die getoond wordt veranderen naar een vriendelijkere boodschap voor de eindgebruiker door een&amp;nbsp;[HandleError] attribute aan toe te voegen aan onze Controller of aan onze Action Method op de Controller:&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1033 src="http://www.scottgu.com/blogposts/mvcpreview4/step9.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step9.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;De HandleError filter zal alle exceptions cachen (ondermeer errors die gegenereerd worden wanneer View templates verwerkt worden), en toont een gepersonaliseerd Error antwoord als ze zich zouden&amp;nbsp;voordoen. Standaard zal het proberen om een View template, "error" genaamd, in je project trachten aan te maken om een antwoord te genereren.&amp;nbsp;Je kan de "Error" view plaatsen in dezelfde directory als je andere controllerspecifieke views (bijvoorbeeld: \Views\Test&amp;nbsp;voor de&amp;nbsp;TestController hierboven), of in de \Views\Shared folder (het zal eerst zoeken naar een controllerspecifieke errorview en als dat niet wordt gevonden, dan zal het zoeken in de shared folder, die de views bevat die door alle Controllers gedeeld worden). &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Visual Studio voegt nu automatisch een&amp;nbsp;standaard "Error" view template&amp;nbsp;toe aan de \Views\Shared folder als je een nieuw ASP.NET MVC Projects aanmaakt met de Preview 4:&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1034 src="http://www.scottgu.com/blogposts/mvcpreview4/step11.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step11.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Als we een [HandleError] attribute&amp;nbsp;toevoegen aan onze TestController, dan zal dit standaard eindgebruikers een html errorpagina tonen zoals hieronder (merk op dat het de masterpage template aanneemt van het project, zodat de error boodschap geintegreerd is in de site).&amp;nbsp; Je kan uiteraard de Error view template personaliseren zodat je om het even welke html en/of vriendelijkere errorboodschap kunt tonen. Hieronder wordt getoond wat je standaard krijgt.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1035 src="http://www.scottgu.com/blogposts/mvcpreview4/step12.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step12.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Om ontwikkelaars te helpen is de standaard Error view template, die geintegreerd is in de nieuwe project template in Visual Studio, gemaakt om bijkomende error stack trace informatie te tonen als je de applicatie lokaal uitvoert:&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1036 src="http://www.scottgu.com/blogposts/mvcpreview4/step13.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step13.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Je kan dit afzetten door de code te verwijderen uit de Error view template, of door de&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &amp;lt;customErrors&amp;gt;&amp;nbsp;op "off" te zetten in je web.config bestand. &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;De [HandleError] filter zal standaard alle exceptions opvangen en verwerken die voorkomen tijdens een aanvraag.&amp;nbsp;Je kan ook specifieke exception types specificeren die je wil cachen. Je kan ook&amp;nbsp;gepersonaliseerde error views specificeren&amp;nbsp;door het "ExceptionType" en de&amp;nbsp;"View" eigenschappen van de&amp;nbsp;[H&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;andleError] attributes te specificeren:&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1037 src="http://www.scottgu.com/blogposts/mvcpreview4/step15.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step15.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;In de bovenstaande code kies ik ervoor om gepersonaliseerde error views voor SqlExceptions&amp;nbsp;en NullReferenceExceptions te tonen.&amp;nbsp;Alle andere exceptions zullen getoond worden met de de standaard "Error" view template.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;H3 style="MARGIN: auto 0cm"&gt;&lt;U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Authorize Filter&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;De [Authorize] filter biedt een manier om de beveiligingstoegang declaratief&amp;nbsp;controleren op een Controller of een Action Method. Hierdoor kan je aanduiden dat een gebruiker ingelogged moet zijn, en kan je eventueel ook vereisen dat ze een specifieke gebruiker zijn in een specifieke beveiligingsrol om toegang te kunnen krijgen. De filter werkt met alle types authenticatie (waaronder Windows en&amp;nbsp;formuliergebaseerde authenticatie). Het biedt ook ondersteuning&amp;nbsp;om automatisch anonieme gebruikers door te verwijzen naar een login formulier wanneer nodig.&amp;nbsp;Om dit uit te proberen, voeg een &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;[Authorize] filter toe aan de&amp;nbsp; "About" action in&amp;nbsp;de HomeController, die standaard gecreëerd wordt door Visual Studio:&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1038 src="http://www.scottgu.com/blogposts/mvcpreview4/step16.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step16.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Een&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;[Authorize] attribute declareren zoals hierboven wijst erop dat een gebruiker ingelogged moet zijn in de website om een "About" action te kunnen aanvragen. Als niet-ingelogde gebruikers trachten om de /Home/About URL aan te klikken, dan zullen ze geen toegang krijgen. Als de webapplicatie zo is geconfigureerd dat het Windowsgebaseerde authenticatie gebruikt, dan zal ASP.NET automatisch de gebruiker authenticeren door hun Windows login info te gebruiken, en indien in orde, dan kan de gebruiker verder.&amp;nbsp;Als de webapplicatie is geconfigureerd om Formuliergebaseerde authenticatie te gebruiken, dan zal het&amp;nbsp;[Authorize] attribute automatisch de gebruiker doorverwijzen naar een loginpagina zodat deze zich kan autentificeren (waarna hij toegang zal krijgen):&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1039 src="http://www.scottgu.com/blogposts/mvcpreview4/step17.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step17.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Het [Authorize] attribute laat je ook toe om toegang te verlenen aan specifieke gebruikers en gebruikersrollen.&amp;nbsp;Bijvoorbeeld,&amp;nbsp;als ik de toegang tot de "About" action zou willen limiteren tot mezelf en Bill Gates, dan zou ik het volgende kunnen schrijven:&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1040 src="http://www.scottgu.com/blogposts/mvcpreview4/step18.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step18.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Het is zeker niet aan te raden voor meer geavanceerde applicaties om gebruikersnamen te hardcoden in je code. Je kan beter een concept gebruiken van een bovenliggend niveau&amp;nbsp;zoals "rollen" om permissies te definieren.&amp;nbsp;Dan kan je de gebruikers apart in rollen verdelen (bijvoorbeeld, de active directory of een database gebruiken om de verdeling op te slaan)&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;.&amp;nbsp; Met het [Authorize] attribute is het gemakkelijk om&amp;nbsp;de toegang te beheren tot Controllers en&amp;nbsp;Actions door&amp;nbsp;de "Roles" eigenschap te gebruiken:&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1041 src="http://www.scottgu.com/blogposts/mvcpreview4/step19.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step19.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Het&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;[Authorize] attribute is niet afhankelijk van een specifieke gebruikersidentiteit of role management mechanisme.&amp;nbsp;Het werkt met&amp;nbsp;het ASP.NET "User" object, dat uitbreidbaar is en waarmee je eender welk identificeersysteem kan gebruiken.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;H3 style="MARGIN: auto 0cm"&gt;&lt;U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;AccountController Class&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Hierboven heb ik vermeld dat het [Authorize] attribute gebruikt kan worden met elk authenticatiesysteem of identiteitbeheersysteem.&amp;nbsp;Je kan elk gepersonaliseerd login UI en / of gebruikersnaam/paswoord systeem schrijven of gebruiken. Om je wat op weg te helpen, bevat de&amp;nbsp;ASP.NET MVC Project Template in Visual Studio nu een voorgebouwde&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; "AccountController" met login views die een systeem voor&amp;nbsp;formulierauthenticatie&amp;nbsp;op basis van lidmaatschap integreert&amp;nbsp;met ondersteuning voor&amp;nbsp;inloggen, uitloggen, nieuwe gebruikers registreren en paswoorden&amp;nbsp;wijzigen. Alle view templates en UI kunnen gemakkelijk gepersonaliseerd worden, los van de AccountController class of implementatie:&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1042 src="http://www.scottgu.com/blogposts/mvcpreview4/step20.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step20.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;De Site.master template bevat nu ook UI in de rechterbovenhoek die login/logout functionaliteit biedt. Als je fomuliergebaseerde authenticatie gebruikt, dan zal het je je login vragen als je nog niet geidentificeerd werd:&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1043 src="http://www.scottgu.com/blogposts/mvcpreview4/step21.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step21.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;En het toont een welkomstboodschap samen met een logout link als je geidentificeerd bent op de site:&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1044 src="http://www.scottgu.com/blogposts/mvcpreview4/step22.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step22.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Als je hierboven op de login link klikt, dan wordt je doorverwezen naar een loginscherm zoals hieronder zodat je je kan identificeren:&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1045 src="http://www.scottgu.com/blogposts/mvcpreview4/step23.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step23.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Nieuwe gebruikers kunnen klikken op de registreerlink om een nieuwe account te creëeren:&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1046 src="http://www.scottgu.com/blogposts/mvcpreview4/step24.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step24.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Error handing en error display is ook ingebouwd:&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;IMG id=_x0000_i1047 src="http://www.scottgu.com/blogposts/mvcpreview4/step25.png" border=0 mce_src="http://www.scottgu.com/blogposts/mvcpreview4/step25.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;De AccountController class dat is&amp;nbsp;toegevoegd aan nieuwe projecten&amp;nbsp;maakt gebruik van de ingebouwde ASP.NET&amp;nbsp;membership API om gebruikersgegevens te bewaren en te beheren (het Membership systeem gebruikt een provider API, waardoor alle back-end opslag kan ingeplugd worden en ASP.NET bevat ingebouwde providers voor Active Directory en SQL&amp;nbsp;Server).&amp;nbsp;Als je&amp;nbsp;het ingebouwde Membership systeem niet wil gebruiken, dan kan je dezelfde AccountController action method signatures&amp;nbsp;behouden. View templates, en Forms Authentication zijn zeer logisch opgebouwd en vervangen gewoon de gebruikersaccount logica binnen de AccountController class. Voor de volgende ASP.NET MVC preview release plannen we de inbedding van de interactielogica tussen de Account Controller en het&amp;nbsp;gebruikersidentiteitssysteem achter een interface. Dit zal het gemakkelijker maken&amp;nbsp;om je eigen opslagsysteem in te pluggen (zonder een volledige membership provider te moeten implementeren). Ook zal het gemakkelijker zijn om&amp;nbsp;dit en de AccountController te unit testen.We hopen vooral dat dit een goede manier zal zijn om mensen snel aan de slag te helpen zodat ze een goed werkend afgewerkt beveiligingssysteem hebben van zodra ze een nieuw project creëren.&amp;nbsp;&lt;/SPAN&gt; 
&lt;H3 style="MARGIN: auto 0cm"&gt;&lt;U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;TempData testen&lt;/SPAN&gt;&lt;/U&gt;&lt;/H3&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Een laatste verbetering die ik graag ter sprake breng in deze eerste preview 4 post is die aan de Controller class waardoor je gemakkelijker de TempData collectie kan unit testen.&amp;nbsp;Met de TempData eigenschap&amp;nbsp;kan je data opslaan die je wil houden voor een toekomstige aanvraag van een gebruiker. De semantiek zit zo ineen dat het slechts een toekomstige aanvraag blijft bestaan (daarna wordt het verwijderd).&amp;nbsp; Het wordt over het algemeen gebruikt voor MVC scenario's, waarin je een client-side redirect wil uitvoeren om de URL in de browser te veranderen en een&amp;nbsp;eenvoudige manier wil om scratch data te bewaren. In vorige ASP.NET MVC preciew moest je objecten 'namaken' om de TempData collectie te testen&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;.&amp;nbsp;Met Preview 4 is dit niet langer nodig, ook andere setups zijn niet meer nodig. Je kan nu objecten toevoegen en verifieren binnen de TempData collectie van de controller en dit onmiddellijk in je&amp;nbsp;Unit tests (bijvoorbeeld: de Tempdata eigenschap van een controller bepalen, voor zijn action method aan te roepen verifieren of een action method&amp;nbsp;de TempData heeft geupdate na terugkeer).&amp;nbsp; De opslagsemantiek van de TempData collecite is nu vervat in een aparte TempDataProvider eigenschap.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;H3 style="MARGIN: auto 0cm"&gt;&lt;U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Conclusie&lt;/SPAN&gt;&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Hopelijk biedt de bovenstaande post een snelle blik op het aantal nieuwe functies en veranderingen in de ASP.NET MVC Preview 4.&amp;nbsp;Mijn volgende&amp;nbsp;post over ASP.NET MVC Preview 4 zal de nieuwe AJAX functionaliteit behandelen en zal ook demonstreren hoe je er gebruik van kan maken. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Hopelijk kan je hiermee aan de slag, &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Scott&lt;/SPAN&gt; &lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6438444" width="1" height="1"&gt;</description></item><item><title>Silverlight 2 Beta2 Release</title><link>http://weblogs.asp.net/scottgudutch/archive/2008/06/11/silverlight-2-beta2-released.aspx</link><pubDate>Wed, 11 Jun 2008 05:02:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6255219</guid><dc:creator>Joeri Pansaerts</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottgudutch/rsscomments.aspx?PostID=6255219</wfw:commentRss><comments>http://weblogs.asp.net/scottgudutch/archive/2008/06/11/silverlight-2-beta2-released.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Silverlight 2 Beta2 is vandaag op de markt gelanceerd. Je kunt de toolondersteuning voor Silverlight 2 beta1, Visual Studio en&amp;nbsp;Expression Blend&amp;nbsp;&lt;A href="http://silverlight.net/GetStarted/" target=_blank mce_href="http://silverlight.net/GetStarted/"&gt;&lt;FONT color=#3399ff&gt;hier&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;downloaden.&lt;/P&gt;
&lt;P&gt;Aan de&amp;nbsp;Beta2 zijn heel wat functies toegevoegd (meer details hieronder). Toch is het&amp;nbsp;nog&amp;nbsp;steeds een download van 4.6MB, met een downloadtijd van minder dan 10 seconden. Software van het&amp;nbsp;.NET framework of andere software is niet nodig om ermee te kunnen werken. Ook werken alle functies cross-browser op&amp;nbsp;Mac en&amp;nbsp;Windows pc's en&amp;nbsp;zullen ze&amp;nbsp;via de Moonlight 2 release ook ondersteund worden op&amp;nbsp;Linux.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Silverlight 2 beta2 ondersteunt een go-live licentie&amp;nbsp;waarmee je kan starten met commerciele applicaties in Silverlight 2.&amp;nbsp;Er zullen&amp;nbsp;enkele API veranderingen plaatsvinden tussen Beta2 en de&amp;nbsp;uiteindelijke release, waardoor je erop moet voorbereid zijn dat de applicaties die je hebt gecreëerd met de Beta2 geupdate moeten worden wanneer de finale versie uitkomt. Maar we denken dat deze veranderingen eenvoudig en relatief gemakkelijk zullen zijn, en dat je gerust kunt beginnen plannen en creëeren.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Je kunt Silverlight Beta2 applicaties bouwen met de VS2008 Tools voor Silverlight en Expression Blend 2.5 June Previeuw. Je kunt beide &lt;A href="http://silverlight.net/GetStarted/" target=_blank mce_href="http://silverlight.net/GetStarted/"&gt;&lt;FONT color=#3399ff&gt;hier&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;downloaden. De VS2008 Tools voor&amp;nbsp;de Silverlight download werkt met&amp;nbsp;zowel VS 2008 als de recente&amp;nbsp; &lt;A href="http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx" target=_blank mce_href="http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx"&gt;&lt;FONT color=#0066cc&gt;VS 2008 SP1 beta&lt;/FONT&gt;&lt;/A&gt; release.&amp;nbsp; &lt;/P&gt;
&lt;H3&gt;&lt;U&gt;Verbeteringen aan UI&amp;nbsp;en Control&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;Silverlight 2 Beta2&amp;nbsp;bevat een hoop verbeteringen in de UI en Control:&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Meer ingebouwde Controls&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;Beta1 bevatte slechts enkele ingebouwde controls in de core Silverlight setup. De meeste algemene controls (Button, ListBox, Slider, enz)&amp;nbsp;waren ondergebracht&amp;nbsp;in gescheiden assemblies&amp;nbsp;die je moest samenbrengen in je applicatie (waardoor de applicatie download dus langer duurde). Beta 2 installeert nu&amp;nbsp;meer dan 30 van de algemene controls als onderdeel van de core Silverlight 2 download. Dit wil zeggen dat je Silverlight 2 applicaties kunt bouwen die core controls&amp;nbsp;van&amp;nbsp;kleiner dan 3kb gebruiken.&amp;nbsp;Het resultaat is een kleine Silverlight applicatie met een zeer snelle opstarttijd.&lt;/P&gt;
&lt;P&gt;Naast de core controls&amp;nbsp;in de basisinstallatie van de&amp;nbsp;Silverlight 2 setup, brengen we deze week ook higher-level controls uit die geïmplementeerd zijn&amp;nbsp;in&amp;nbsp;aparte assemblies,&amp;nbsp;die je kan verwerken in je applicatie en&amp;nbsp;waarnaar je kan refereren. Deze controls&amp;nbsp;zoals de DataGrid (meer details&amp;nbsp;bij de nieuwe Beta2 functies beneden)&amp;nbsp;,&amp;nbsp;Calendar (nu met meerdere dagen selectie en&amp;nbsp;blackout data ondersteuning in Beta2), en de TabPanel control (nieuw in Beta2).&lt;/P&gt;
&lt;P&gt;Op het einde van de rit&amp;nbsp;verwachten&amp;nbsp;we meer dan 100 controls voor Silverlight.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Ondersteuning voor de bewerking van Control Template&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;Eén van de krachtigste functies in&amp;nbsp;het WPF en Silverlight programming model is de mogelijkheid om&amp;nbsp;de look en feel van de controls helemaal te veranderen. Zo kunnen ontwikkelaars en ontwerpers de UI van de controls bewerken&amp;nbsp;op subtiele&amp;nbsp;of ingrijpende wijze, en het laat ook&amp;nbsp;een enorme flexibliteit toe.Ik behandelde deze materie enigzins &lt;A href="http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-7-using-control-templates-to-customize-a-control-s-look-and-feel.aspx" target=_blank mce_href="http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-7-using-control-templates-to-customize-a-control-s-look-and-feel.aspx"&gt;&lt;FONT color=#3399ff&gt;hier&lt;/FONT&gt;&lt;/A&gt; in&amp;nbsp;mijn vorige Silverlight Control Templating blog.&lt;/P&gt;
&lt;P&gt;De&amp;nbsp;Expression Blend 2.5 June Preview van deze week bevat&amp;nbsp;ontwerpondersteuning in om control templates te bewerken. Dit maakt het ons gemakkelijk om een snelle aanpassing te doen aan het uitzicht&amp;nbsp;van elke control zonder naar de XAML broncode te moeten gaan.&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Om de control template editing in actie te zien,&amp;nbsp;sleep je gewoon de&amp;nbsp;twee slider controls naar je Expression Blend design surface :&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step1.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step1.png"&gt; &lt;/P&gt;
&lt;P&gt;Het kan voorkomen dat we de&amp;nbsp;slider head in de standaard Slider control template te groot en te breed vinden&amp;nbsp;voor onze applicatie. Om de control editing template te gebruiken om dit&amp;nbsp;te veranderen,&amp;nbsp;klikken we met de rechtermuisknop op een van de sliders en selecteren we&amp;nbsp;het "Edit Control Parts" context menu item. We&amp;nbsp;kiezen&amp;nbsp;vervolgens om een&amp;nbsp;'new control template' aan te maken voor onze slider (en we beginnen vanaf nul). Een andere optie is een kopie bewerken van de&amp;nbsp;ingebouwde control template (en starten&amp;nbsp;vanaf daar om het te bewerken):&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step2.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step2.png"&gt; &lt;/P&gt;
&lt;P&gt;Nadat we gekozen hebben om een kopie van de bestaande control template te bewerken, zal Blend&amp;nbsp;ons vragen om een&amp;nbsp;herbruikbare style source te creëren en een naam te geven&amp;nbsp;waarin we onze control template zullen definieren. We kunnen het een naam geven en dan verkiezen we&amp;nbsp;dat onze stijl wordt opgeslagen&amp;nbsp;op applicatieniveau (in de&amp;nbsp;App.xaml) of in onze huidige page/usercontrol :&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step3.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step3.png"&gt; &lt;/P&gt;
&lt;P&gt;Wanneer we&amp;nbsp;"ok"&amp;nbsp; klikken,&amp;nbsp;zullen we ons in de template&amp;nbsp;editing mode bevinden van onze Slider control. We kunnen elk onderliggend element&amp;nbsp;veranderen, uitrekken of&amp;nbsp;toevoegen/verwijderen in de&amp;nbsp;control van de Slider template. Let hieronder op hoe we in de template editing mode&amp;nbsp;kunnen&amp;nbsp;zien hoe we elk onderliggend element kunnen selecteren in de control van de Slider template (ze zijn in het rood omcirkeld hieronder in de "object" window)&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Om onze sliderhead smaller te maken, kunnen we&amp;nbsp;het "HorizontalThumb" element selecteren in de control template en&amp;nbsp;de breedte aanpassen (ofwel grafisch of via de property grid):&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step4.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step4.png"&gt; &lt;/P&gt;
&lt;P&gt;We kunnen dan de breadcrumb navigatie&amp;nbsp;bar gebruiken, bovenaan de designer surface, om terug naar onze pagina te navigeren en dus om de control template wijzigingen&amp;nbsp;te zien. :&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step5.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step5.png"&gt; &lt;/P&gt;
&lt;P&gt;Let op dat rechts enkel één van de slider control de nieuwe Style recource gebruikt met de control template die wij definieerden.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Om dezelfde&amp;nbsp;style resource&amp;nbsp;toe te voegen&amp;nbsp;aan de andere slider control,&amp;nbsp;kunnen we hem selecteren via&amp;nbsp;rechtermuisklik, en dan klikken op "Apply Resource" context menu om onze "ScottSlider" style eraan toe te voegen :&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step6.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step6.png"&gt; &lt;/P&gt;
&lt;P&gt;Eens we dit gedaan hebben zullen beide sliders refereren naar dezelfde style :&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step7.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step7.png"&gt; &lt;/P&gt;
&lt;P&gt;De veranderen die we maken in de&amp;nbsp;"ScottSlider" style&amp;nbsp;worden&amp;nbsp;automatisch toegepast op beide controls.&lt;/P&gt;
&lt;P&gt;Let op dat alle controls in Silverlight 2 control templates ondersteunen. Ze&amp;nbsp;ondersteunen ook de bovenstaande bewerkingen in Expression Blend.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Ondersteuning voor Visual State Manager (VSM)&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Control templates in Silverlight en WPF ondersteunen&amp;nbsp;zowel de "look" van een control, als de "feel" van een control. Met "feel" bedoel ik&amp;nbsp;zijn interactieve gevoeligheidsveranderingen. Bijvoorbeeld : hoe&amp;nbsp;ziet hij eruit als je erop klikt,&amp;nbsp;als&amp;nbsp;het gefocused is of net de focus verliest,&amp;nbsp;in ingedrukte toestand,&amp;nbsp;als iets erin geselecteerd is enz ... . Soms wil je animaties starten wanneer er interactie is tussen de&amp;nbsp;control en de gebruiker.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Eén van de nieuwe dingen die we introduceren met Silverlight 2 beta2 is een "Visual State Manager" (VSM) functie waarmee je gemakkelijker interactieve control templates kan&amp;nbsp;maken. VSM introduceert twee basis concepten die je voordeel kunnen bieden in een control template : "Visual States" en "State Transitions". Bijvoorbeeld, een control&amp;nbsp;zoals een Button definieert meerdere visuele statussen voor zichzelf&amp;nbsp;- "Normal", "MouseOver", "Pressed", "Disabled", "Focused", "Unfocused". In de template&amp;nbsp;editing mode in Blend kunnen de&amp;nbsp;ontwerpers nu de looks in elke staat aanpassen, alsook de overgang wanneer je&amp;nbsp;de control doet veranderen van de ene staat in de andere.&lt;/P&gt;
&lt;P&gt;Wat tof is aan dit model is dat ontwerpers helemaal geen code hoeven te schrijven, ze moeten geen manuele animatie storyboards schrijven en moeten het object model niet verstaan om productief te zijn. Dit maakt het leerproces voor het maken van interactieve control templates heel gemakkelijk, en in elk geval kan een bestaande grafisch ontwerper heel gemakkelijk werken aan Silverlight projecten. Later dit jaar zullen we de Visual State Manager&amp;nbsp;(VSM)&amp;nbsp;ondersteuning toevoegen tot WPF, waardoor je dezelfde methodes kan toepassen&amp;nbsp;op Windows applicaties en templates kan&amp;nbsp;delen tussen WPF en Silverlight Projecten.&lt;/P&gt;
&lt;P&gt;Om een voorbeeld te zien van deze actie, voegen we een Button control toe op onze design surface :&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step23.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step23.png"&gt; &lt;/P&gt;
&lt;P&gt;We kunnen dan rechts klikken op de button en&amp;nbsp;zijn control template bewerken. In plaats van&amp;nbsp;te beginnen met de bestaande standaard control template (zoals we hebben gedaan in het slider voorbeeld hierboven), creëren we nu een lege control template:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step10.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step10.png"&gt; &lt;/P&gt;
&lt;P&gt;Blend zal ons de naam vragen van de Style resource die we willen creëren.&amp;nbsp;We&amp;nbsp;noemen het "ScottButton" en we klikken op ok.&amp;nbsp;Hierdoor zal de designer in control editing mode omgezet worden voor de button en starten met een lege control template:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step11.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step11.png"&gt; &lt;/P&gt;
&lt;P&gt;Wat je vooral moet opmerken in het bovenstaande is het nieuwe "States" venster in Blend.&amp;nbsp;Daarin zullen we alle beschikbare "Visual States" te zien krijgen die de Button control vertoont. Hierboven is de "Base" state of status geselecteerd, waardoor we de gebruikelijke visuele tree van onze Button control template kunnen definiëren. &lt;/P&gt;
&lt;P&gt;We kunnen daarna enkele vectoriële elementen toevoegen aan onze base status (basisstatus), die het uitzicht van een gepersonaliseerde button definieert zoals hieronder. We zouden de ingebouwde tool voor vectorieel tekenen kunnen gebruiken dat ondersteund wordt door Blend om deze afbeeldingen te maken. Een andere mogelijkheid is Expression Design of Adobe Illustrator gebruiken om vectoriële elementen te creëren en het finale resultaat implementeren in Blend. Hieronder voegen we 4 "Path" elementen toe aan onze control template, een ronde achtergrond ("background" genaamd), een drop shadow ("shadow" genoemd), een 40% transparantie "shine" dat een gloei-effect toevoegt bovenaan en een dat de standaard inner content definieer (in dit geval een afbeelding van een huis):&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step12.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step12.png"&gt; &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Opmerking:&amp;nbsp;we hadden ook een afbeelding kunnen importeren, maar als we gebruik maken van vectorïele elementen, krijgen we de flexibiliteit om de button in een latere fase te verkleinen/uittrekken/transformeren zodat we een crips look en feel behouden bij elke resolutie of verkleining (het is vooral handig in Silverlight mobile scenario's, waarin de schermresolutie kan variëren).&amp;nbsp;We zullen ook gemakkelijk een vectorieel element&amp;nbsp;veranderen of er animatie aan toevoegen.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Als we klaar zijn met de ontwerpfase van onze basisstatus hierboven, kunnen drukken op F5 om onze applicatie uit te voeren in de browser:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step13.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step13.png"&gt; &lt;/P&gt;
&lt;P&gt;Zoals je hierboven kan zijn, ziet onze Button er nu veel aantrekkelijker uit.&amp;nbsp;Ondanks deze nieuwe look, wekt de button nog steeds dezelfde focus, click en hover acties op zoals voorheen. Een ontwikkelaar die de buttons gebruikt moet de code dus niet veranderen als hij wil werken met een button die werd vormgegeven met onze nieuwe control template.&lt;/P&gt;
&lt;P&gt;Een nadeel van onze nieuwe button control template, is dat het niet interactief is. Dit betekent dat ik geen visuele feedback krijg als de button de focus krijgt of verliest, als je erover gaat met de muis of niet. Ik krijg ook geen mooie depress/bounce-back animatie als ik erop klik. &lt;/P&gt;
&lt;P&gt;Om interactiviteit toe te voegen aan onze button, keren we terug naar Blend en werken we terug in de control template van de button.&amp;nbsp;Daarnet voegden we vectoriele grafische elementen toe aan de basisstatus van onze button control. Hierdoor konden we de standaard visuele look definieren van alle visuele statussen van onze button. We kunnen nu teruggaan en elke afzonderlijke visuele statut&amp;nbsp;van de button personaliseren.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bijvoorbeeld, om een mouse-over actie te implementeren voor onze button, kunnen we de&amp;nbsp;"MouseOver" status in het "States" venster selecteren om dan de look van de button te creëren als het zich in die status bevindt. Hieronder heb ik het "shine" vectorieel element geselecteerd in onze control template en heb ik de Opacity eigenschap aangepast in de property grid zodat de button iets visueler is in de MouseOver status.&amp;nbsp;Merk op hoe blend automatisch het "Shine" element highlight met een rode stip en daarna de Opacity eigenschap plaatst in ons objectvenster.&amp;nbsp;Hierdoor kan je gemakkelijk alle veranderingen opvolgen die we hebben gemaakt tussen de "Base" status en de "MouseOver" status in onze control template:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step14.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step14.png"&gt; &lt;/P&gt;
&lt;P&gt;We kunnen vervolgens de "Pressed" status selecteren in ons "States" venster en personaliseren hoe een button er moet uitzien als er op geklikt wordt.&amp;nbsp;We zullen twee&amp;nbsp;aanpassingen doen in de "Base" status. De eerste aanpassing is het "Shine" element zichtbaar maken (zoals in de MouseOver status). De tweede aanpassing zal de inhoud van de button control lichtjes een offset effect geven, terwijl het shadowelement op zijn plaats blijft. .&amp;nbsp;HIerdoor zal de button eruitzien alsof&amp;nbsp;ze niet ingedrukt is en zal het mooi contrasteren met de basis&amp;nbsp;visual:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step15.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step15.png"&gt; &lt;/P&gt;
&lt;P&gt;We kunnen de offset verandering implementeren in de achtergrond, de inhoud en de shine elementen door ze te selecteren in de designer en dan een offset render transform erop toepassen in de property browser:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step16.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step16.png"&gt; &lt;/P&gt;
&lt;P&gt;En als we nu onze applicatie uitvoeren in de browser, dan zullen we zien dat onze button nu interactieve visuele feedback geeft als ze gebruikt wordt. Hieronder zie je de "normale" look van onze button:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step17.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step17.png"&gt; &lt;/P&gt;
&lt;P&gt;Het gloeieffect zoals hieronder krijg je door met de muis over de button te gaan:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step18.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step18.png"&gt; &lt;/P&gt;
&lt;P&gt;Door op de button te klikken zal ze 'ontklikken' en de shadow verbergen (het zal in de oorspronkelijke staat teruggeplaats worden als de muisklik stopt):&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step19.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step19.png"&gt; &lt;/P&gt;
&lt;P&gt;Merk op dat we geen code of XAML hebben moeten schrijven om de look en feel van onze Button te veranderen. De nieuwe Visual State Manager functie heeft de bewegingen tussen de visual states automatisch voor ons afgehandeld.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Silverlight bouwt voert een transitie Storyboard dynamisch voor je uit als je je van visual state naar visual state begeeft (en zo verkrijg je een vloeiende animatie tussen de twee states). Je hoeft hiervoor geen code te schrijven (opmerking: je hebt wel nog steeds de mogelijkheid om een een gepersonaliseerde Storyboard transitie toe te voegen als je dit wil, maar in de meeste gevallen is de automatische Storyboard transitie voldoende).&lt;/P&gt;
&lt;P&gt;Een functie waarvan je kan profiteren met de automatische transitie in Silverlight, is de mogelijkheid om de duur van een visual state transitie te personaliseren.&amp;nbsp;Je kan dit doen door te klikken op de pijl aan de linkerkant van een van visual state en een regel op te stellen die bepaald hoelang de transitie animatie zou mogen duren wanneer je van een visual state naar een andere gaat.&lt;/P&gt;
&lt;P&gt;Bijvoorbeeld, we zouden kunnen aanduiden dat de transitie van "Normal" naar "MouseOver" 2 seconden mag duren, door de onderstaande regel toe te voegen: &lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step20.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step20.png"&gt; &lt;/P&gt;
&lt;P&gt;We kunnen deze regel dan zo configureren dat de transitie tussen Normal-&amp;gt; MouseOver slechts twee seconden mag duren:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step21.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step21.png"&gt; &lt;/P&gt;
&lt;P&gt;We kunnen dan klikken op de "MouseOver" state en een regel instellen waarmee aangeduid wordt dat de transitie van Mouseover -&amp;gt; 4 seconden mag duren:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step22.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step22.png"&gt; &lt;/P&gt;
&lt;P&gt;Als we nu de applicatie opnieuw uitvoeren, dan zien we dat de animatietransitie voor MouseOver scenario's trager verloopt, waardoor onze applicatie er wat meer afgewerkt uitziet. We hebben niet een lijn code moeten schrijven om dit allemaal mogelijk&amp;nbsp;te maken. &lt;U&gt;Alle controls&lt;/U&gt; die uitgebracht zijn met Silverlight 2 zullen ingebouwde support bevatten voor Control Template en Visual State Manager personalisatie zoals hierboven.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Om meer te leren over de nieuwe Visual State Manager&amp;nbsp;en Control Template Editing functies, bekijk dan zeker &lt;A href="http://timheuer.com/blog/archive/2008/06/04/skinning-silverlight-controls-made-easier.aspx" target=_blank mce_href="http://timheuer.com/blog/archive/2008/06/04/skinning-silverlight-controls-made-easier.aspx"&gt;&lt;FONT color=#3399ff&gt;hier&lt;/FONT&gt;&lt;/A&gt; and &lt;A href="http://timheuer.com/blog/archive/2008/06/04/silverlight-introduces-visual-state-manager-vsm.aspx" target=_blank mce_href="http://timheuer.com/blog/archive/2008/06/04/silverlight-introduces-visual-state-manager-vsm.aspx"&gt;&lt;FONT color=#3399ff&gt;hier&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;de tutorials&amp;nbsp;en de videos&amp;nbsp;&lt;A href="http://electricbeach.org/?p=98" target=_blank mce_href="http://electricbeach.org/?p=98"&gt;&lt;FONT color=#3399ff&gt;hier&lt;/FONT&gt;&lt;/A&gt;, &lt;A href="http://expression.microsoft.com/en-us/cc643423.aspx" target=_blank mce_href="http://expression.microsoft.com/en-us/cc643423.aspx"&gt;&lt;FONT color=#3399ff&gt;hier&lt;/FONT&gt;&lt;/A&gt;, en &lt;A href="http://electricbeach.org/?p=107" target=_blank mce_href="http://electricbeach.org/?p=107"&gt;&lt;FONT color=#3399ff&gt;hier&lt;/FONT&gt;&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;TextBox&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Beta2 bevat belangrijke verbeteringen aan de ingebouwde TextBox editing control. Ook Text scrolling&amp;nbsp;met text-wrap, multi-line text selecties, document navigation keys,&amp;nbsp;en&amp;nbsp;copy/paste&amp;nbsp;met het klembord worden nu ook ondersteund.&lt;/P&gt;
&lt;P&gt;Beta2 bevat nu ook IME&amp;nbsp;niveau 3 input ondersteuning (met onder andere candidate window selection) voor niet-Westerse charactersets:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/sl2beta2/step24.png" mce_src="http://www.scottgu.com/blogposts/sl2beta2/step24.png"&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Input Ondersteuning&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Beta2 biedt ook toetsenbord ondersteuning in Fullscreen modus (pijltjes, tab, enter, home, end, pageup/down, space). Opmerking: volledige input ondersteuning is niet toegelaten om paswoord spoofing scenario's te vermijden.&lt;/P&gt;
&lt;P&gt;Beta2 biedt ook nieuwe APIs om inking en stylus te ondersteuning.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;UI Automatisatie and&amp;nbsp;Toegankelijkheid &lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;Beta2 voegt UI Automatieframework ondersteuning toe aan Silverlight.&amp;nbsp;Met UI Automatie (of UIA) kunnen beeldschermlezers en andere assitieve tools componenten identificeren die allemaal samen je Silverlight 2 applicatie vormen.&amp;nbsp;Ze kunnen met deze combinatie ook in interactie treden.&lt;/P&gt;
&lt;P&gt;Beta2 gebruikt het UIA framework en voegt UIA gedragingen toe aan een initiële set van Silverlight controls.&amp;nbsp;Met de finale release van Silverlight 2, zullen alle controls UIA gedragingen bevatten die gebaseerd zijn op UIA.&amp;nbsp;We zullen ook ondersteuning toevoegen voor hoge-contrast scenario's.&amp;nbsp;Met deze&amp;nbsp;functies zul toegankelijke,&amp;nbsp;sectie 58 compatibele applicaties kunnen bouwen. Deze&amp;nbsp;UIA ondersteuning zal je&amp;nbsp;ook in staat stellen om automatische UI testing te doen van applicaties.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Animatie and Graphic Systeem&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Beta2 voegt ondersteuning toe om animatie toe te voegen aan gepersonaliseerde dependency properties. Ondersteuning voor objectanimatie (animating structs) wordt nu ook ondersteund.&amp;nbsp; Beta2 ondersteunt eveneens de mogelijkheid om Storyboards in code te creëren die delen van de render tree kunnen animeren zonder dat ze eraan moeten worden toegevoegd (hierdoor kan je animaties helemaal in de code onderbrengen).&amp;nbsp;Per frame zal er animatie callback worden toegevoegd in de finale release.&lt;/P&gt;
&lt;P&gt;Beta2 bevat een nieuwe Visual Tree Helper static class dat geavanceerde inspectie&amp;nbsp;API's van de visual&amp;nbsp;tree. Het biedt functies, zoals de mogelijkheid om&amp;nbsp;de children van een element te nummeren en de&amp;nbsp;ancestor/parent krijgen van een gegeven referentie element. Deze API's werken met elk UIElement die je eraan toevoegt.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;DeepZoom&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Beta2 ondersteunt nu een XML gebaseerd manifestbestand voor DeepZoom collecties. Beta2 voegt ook uitbreidbare MultiScaleTileSource ondersteuning voor DeepZoom.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;WPF Compatibiliteit&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Silverlight Beta2 bevat een&amp;nbsp;hoop herstellingen/veranderingen om de API compatibiliteit tussen Silverlight en WPF te verbeteren (opmerking: de&amp;nbsp;finale release van Silverlight zal bijkomend compatibiliteitswerk bevatten).&amp;nbsp;We zullen ook enkele nieuwe API's toevoegen die we zullen introduceren in&amp;nbsp;Silverlight to WPF in .NET 3.5 SP1 deze zomer.&lt;/P&gt;
&lt;P&gt;Deze inspanningen, in combinatie met de VSM ondersteuning die we later dit jaar zullen toevoegen aan WPF, zullen je in staat stellen om code te hergebruiken door browser en desktop applicaties heen.&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;Media verbeteringen&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;Silverlight 2 Beta2 bevatten&amp;nbsp;significant&amp;nbsp;werk&amp;nbsp;wat Media betreft.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Adaptive Streaming&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Beta2 voegt ondersteuning toe voor "adaptive streaming". Hiermee kan je media encoderen tegen meerdere bit-rates. Dan kan je met een Silverlightapplicatie dynamisch switchen tussen hen afhankelijk van het netwerp en de CPU condities.&lt;/P&gt;
&lt;P&gt;Hierdoor worden veel rijkere media-ervaringen voor de eindgebruiker mogelijk. Het wordt zo immers mogelijk dat contentproviders zowel lower-end als higher-end bitrate versies van een video bieden. Silverlight kan dan de meest optimale versie kiezen, gebaseerd op de hardware en netwerkcapaciteit van de eindgebruiker. Als de machine- of&amp;nbsp;netwerkcondities&amp;nbsp;veranderen terwijl de gebruiker de video bekijkt, dan kan Silverlight automatisch overschakelen naar een meer gepaste bitrate zonder buffering of haperingen.&lt;/P&gt;
&lt;P&gt;De ondersteuning voor adaptive streaming van Silverlight is uitbreidbaar. Hierdoor kan&amp;nbsp;iedereen zijn eigen logica inpluggen om te bepalen vanwaar de media content komt en welke bitrate&amp;nbsp;er zou moeten worden gebruikt.&amp;nbsp;Dit betekent dat elke CDN of medialeverancier gemakkelijk zijn systeem kan integreren in Silverlight en zo video's&amp;nbsp;kan leveren van superhoge kwaliteit.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Content bescherming&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Beta2 bevat DRM contentbescherming, en ondersteunt Windows DRM en PlayReady DRM. Beide werken cross-browser en cross-platform. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Server Side Playlists&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Beta2 voegt ondersteuning toe voor serverside playlists (voorgaande releases ondersteunden enkel clientside playlists).&amp;nbsp; &lt;/P&gt;
&lt;H3&gt;&lt;U&gt;Verbeteringen voor netwerken&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;Silverlight 2 Beta2 bevat een hoop werk op gebied van netwerken:&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Cross-domein Sockets&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;Met Beta2 is cross-domein netwerkondersteuning mogelijk. Hiervoor wordt zowel HTTP als Sockets gebruikt (wat betekent dat je applicaties andere sites kan aanspreken dan de deze waarvan de applicatie was gedownload).&lt;/P&gt;
&lt;P&gt;Silverlight zal het bestaan van een XML policy bestand controleren op target servers, dat aanduid of cross-domein netwerktoegang toegelaten is.&amp;nbsp;Silverlight ondersteunt een nieuw XML policy bestand dat we hebben ontwikkeld, alsook Flash policy bestanden (wat betekent dat bestaande sites die openstaan voor Flash aangeroepen kunnen worden vanuit Silverlight zonder bijkomende inspanningen).&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Background Thread Netwerken&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Beta2 laat nu toe dat Silverlightapplicaties netwerkverzoeken over background threads kunnen starten, alsook netwerkantwoorden over background threads behandelen. Hierdoor zijn een hele reeks krachtige scenario's mogelijk en kan je vermijden dat de browser's UI thread geblokkeerd wordt terwijl je zowel HTTP als Socket communicatie doet.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Duplex Communication (Server Push)&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Beta2 maakt ondersteuning mogelijk om duplex communicatie kanalen op te zetten met een WCF service op een server.&amp;nbsp;Hierdoor kan je hele mooie programmeermodellen maken waarmee servers boodschappen kunnen "pushen" naar Silverlight clients zonder dat de ontwikkelaar handmatig de servers moet bedienen om veranderingen door te voeren. Dit programmeermodel is zeer nuttig in een brede waaier aan scenario's, zoals instant messaging/chatapplicaties en monitoring/update applicaties zoals stock tickers en traderapplicaties. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Web Services&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Beta2 maakt belangrijke verbeteringen voor interop met SOAP gebaseerde webservices. Web service proxy class end-point URLs kunnen nu geconfigureerd worden zonder applicaties te moeten recompileren. Visual studio heeft nu een nieuwe "Silverlight-enabled WCF Service" project item template, dat je kan toevoegen aan ASP.NET webprojecten om services te&amp;nbsp;publiceren naar&amp;nbsp;clients.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;REST&amp;nbsp;en ADO.NET Data Services&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Silverlight bevat ondersteuning om te kunnen werken met REST&amp;nbsp;gebaseerde webservices.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Beta2 voegt ondersteuning toe om ADO.NET Data Services aan te roepen en te "consumeren" (voorheen bekend met codenaam: "Astoria").&amp;nbsp; ADO.NET Data Services zullen worden uitgebracht als onderdeel van .NET 3.5 SP1 en maakt publiceren mogelijk&amp;nbsp;van data eindpunten in een ASP.NET webproject, die consumeerbaar zijn vanaf elke client door gebruik te maken van REST URI's.&amp;nbsp;Silverlight Beta2 bevat nu ook ADO.NET Data Service clientondersteuning, waardoor je deze&amp;nbsp;services gemakkelijk kan aanroepen (en als je dit wil ook LINQ expressies gebruiken in SIlverlight om externe REST queries ernaar te verwijzen).&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;JSON&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Silverlight ondersteunt het aanroepen van JSON-gebaseerde services op het&amp;nbsp;web.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Beta2 bevat nu&amp;nbsp; LINQ to JSON ondersteuning, waardoor je gemakkelijk JSON resultaten naar .NET objecten kunt queryen, filteren en mappen in een Silverlightapplicatie. Dit maakt het heel gemakkelijk om AJAX eindpunten en services die gepubliceerd zijn op het werk aan te roepen en ermee te werken.&amp;nbsp; &lt;/P&gt;
&lt;H3&gt;&lt;U&gt;Data verbeteringen&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;Silverlight 2 Beta2 bevat een hoop werk op gebied van dataspace:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;DataGrid&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Beta2 voegt een aantal nieuwe functies toe aan de DataGrid control, zoals ondermeer:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Auto-sizing ondersteuning voor kolommen en rijen 
&lt;LI&gt;Sorteren van kolommen (met ondersteuning voor zowel sortering voor één kolom als voor meerdere kolommen) 
&lt;LI&gt;Ondersteuning voor herordenen van kolommen door eindgebruikers (ze kunnen kolommen slepen en verplaatsen om de volgorde te herordenen) 
&lt;LI&gt;Ondersteuning voor "frozen' kolommen (waardoor je kan vermijden dat een bepaalde kolom gepersonaliseerd wordt) 
&lt;LI&gt;Prestatie en bugherstellingen &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;DataBinding&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Beta2&amp;nbsp; voegt meer core data-binding functies toe en betere validatie ondersteuning, zoals ondermeer:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Per-binding Validatie en BindingValidationError event handler ondersteuning&amp;nbsp;voor controls (waardoor je input validatie kan doen met TwoWay bindings) 
&lt;LI&gt;Ondersteuning voor binding expressies&amp;nbsp;voor attached properties 
&lt;LI&gt;Rijkere binding waardeconversie ondersteuning (met ook waardeconversie fallback ondersteuning) &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Geïsoleerd opslaan&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Met silverlight kunnen applicaties data lokaal op een client opslaan (via de functie "Isolated Storage").&amp;nbsp; Applicties kunnen gebruikers vragen om hen groottepermissies toe te kennen voor dit opslaan (bijvoorbeeld: een gebruiker kan een e-mailprogramma 50MB lokale opslagruimte toekennen).&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Beta2 vermeerdert de standaard lokale opslagruimte die wordt&amp;nbsp;geboden door Silverlightapplicaties tot een grootte van 1MB. Beta2 biedt&amp;nbsp;nu ook betere eindgebruikerondersteuning voor het beheer van per-site&amp;nbsp;opslagpermissies, alsook de mogelijkheid om gemakkelijk de lokale opslagruimte van een applicatie aan te roepen of te verwijderen.&amp;nbsp;Management UI om dit te beheren, kan nu door een eindgebruiker worden opgevraagd door de rechtermuisklik op een Silverlightapplicatie en de "Silverlight Configuration" menu optie te kiezen.&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;De compatibiliteit&amp;nbsp;met Silverlight 1.0&amp;nbsp;en Silverlight 2 Beta 1 begrijpen&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;Silverlight 2 Beta2 is compatibel met applicaties die doelen op Silverlight&amp;nbsp;1.0.&lt;/P&gt;
&lt;P&gt;Silverlight 2 Beta2 zal geen applicaties uitvoeren die doelen op Silverlight 2 Beta1, omdat we een aantal API veranderingen hebben doorgevoerd tussen de twee beta's voor de nieuwe functies die zijn toegevoegd aan Silverlight 2.&amp;nbsp;Browsers&amp;nbsp;waarop Silverlight&amp;nbsp;2 Beta1 geïnstalleerd is, bezoeken een site die een&amp;nbsp;Silverlight Beta2 applicatie host, zal gevraagd worden te upgraden naar de nieuwere beta van Silverlight. Eens ze dit gedaan hebben, zullen&amp;nbsp;ze geen Beta1 applicaties&amp;nbsp;kunnen uitvoeren&amp;nbsp;als ze Beta2 niet deïnstalleren. Dit betekent dat als je een sample hebt gepubliceerd op het web&amp;nbsp;die gebouwd werd met Beta1, je waarschijnlijk zal moeten updaten naar Beta2.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;We hebben &lt;A href="http://go.microsoft.com/fwlink/?LinkID=120655&amp;amp;clcid=0x409" target=_blank mce_href="http://go.microsoft.com/fwlink/?LinkID=120655&amp;amp;clcid=0x409"&gt;&lt;FONT color=#3399ff&gt;hier&lt;/FONT&gt;&lt;/A&gt; een document gepubliceerd waarin de veranderingen tussen Beta 1 en Beta 2 in detail te lezen zijn.&amp;nbsp;Ik beveel jullie ook aan&amp;nbsp;&lt;A href="http://adoguy.com/2008/06/06/What_s_Changed_in_Silverlight_2_Beta_2.aspx" target=_blank mce_href="http://adoguy.com/2008/06/06/What_s_Changed_in_Silverlight_2_Beta_2.aspx"&gt;&lt;FONT color=#3399ff&gt;What Changed in Silverlight 2 Beta2&lt;/FONT&gt;&lt;/A&gt; van Shawn Wildermuth te lezen&amp;nbsp;en de &lt;A href="http://adoguy.com/2008/06/06/Upgrading_your_Silverlight_2_Projects_to_Beta_2.aspx" target=_blank mce_href="http://adoguy.com/2008/06/06/Upgrading_your_Silverlight_2_Projects_to_Beta_2.aspx"&gt;&lt;FONT color=#3399ff&gt;Upgrading your Silverlight 2 Projects to Beta2&lt;/FONT&gt;&lt;/A&gt; posts voor meer details over enkele van de veranderingen tussen Beta1&amp;nbsp;en Beta2.&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;Samenvatting&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;Om meer te leren over Silverlight 2 en&amp;nbsp;om&amp;nbsp;de&amp;nbsp;Beta2 release te downloaden, neem dan een kijkje op &lt;A href="http://silverlight.net/GetStarted/" target=_blank mce_href="http://silverlight.net/GetStarted/"&gt;&lt;FONT color=#3399ff&gt;http://www.silverlight.net&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;en &lt;A href="http://expression.microsoft.com/en-us/cc643423.aspx" target=_blank mce_href="http://expression.microsoft.com/en-us/cc643423.aspx"&gt;&lt;FONT color=#3399ff&gt;http://expression.microsoft.com&lt;/FONT&gt;&lt;/A&gt; websites.&amp;nbsp; We zullen artikels posten, alsook tutorials, video's en meer over beide websites in de komende dagen en weken. Ik zal ook enkele tutorials posten op mijn blog.&lt;/P&gt;
&lt;P&gt;ALs je ze nog niet hebt gelezen, dan kan ik ook mijn vorige blog posts &lt;A href="http://weblogs.asp.net/scottgu/archive/2008/02/22/first-look-at-silverlight-2.aspx" target=_blank mce_href="http://weblogs.asp.net/scottgu/archive/2008/02/22/first-look-at-silverlight-2.aspx"&gt;&lt;FONT color=#3399ff&gt;First Look at Silverlight 2&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;en &lt;A href="http://weblogs.asp.net/scottgu/archive/2008/02/28/first-look-at-using-expression-blend-with-silverlight-2.aspx" target=_blank mce_href="http://weblogs.asp.net/scottgu/archive/2008/02/28/first-look-at-using-expression-blend-with-silverlight-2.aspx"&gt;&lt;FONT color=#3399ff&gt;First Look at Expression Blend with Silverlight 2&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;aanbevelen, die ik enkele maanden terug heb geschreven toen Beta1 uitkwam, omdat&amp;nbsp;ze een goed overzicht bieden van het Silverlight programmeermodel en hoe&amp;nbsp;erop te doelen met zowel Visual Studio 2008 en&amp;nbsp; Expression Blend.&lt;/P&gt;
&lt;P&gt;Hopelijk kunnen jullie hiermee aan de slag,&lt;/P&gt;
&lt;P&gt;Scott&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6255219" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/Community+News/default.aspx">Community News</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/.NET/default.aspx">.NET</category></item><item><title>ASP.NET MVC ondersteuning met Visual Web Developer 2008 Express </title><link>http://weblogs.asp.net/scottgudutch/archive/2008/06/02/asp-net-mvc-support-with-visual-web-developer-2008-express.aspx</link><pubDate>Mon, 02 Jun 2008 04:07:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6241024</guid><dc:creator>Joeri Pansaerts</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottgudutch/rsscomments.aspx?PostID=6241024</wfw:commentRss><comments>http://weblogs.asp.net/scottgudutch/archive/2008/06/02/asp-net-mvc-support-with-visual-web-developer-2008-express.aspx#comments</comments><description>&lt;P&gt;Vorige week blogde ik over de&amp;nbsp;&lt;A class="" href="http://weblogs.asp.net/scottgudutch/archive/2008/05/30/asp-net-mvc-preview-3-release.aspx" mce_href="http://weblogs.asp.net/scottgudutch/archive/2008/05/30/asp-net-mvc-preview-3-release.aspx"&gt;&lt;FONT color=#0066cc&gt;ASP.NET MVC Preview 3 release&lt;/FONT&gt;&lt;/A&gt;.&amp;nbsp; Eén belangrijk ding ben ik vergeten mee te geven over deze release. Je kunt het nu ook gebruiken met Visual Studio 2008 alsook met de Visual Web Devolper 2008 Express Edition. &lt;/P&gt;
&lt;P&gt;De SP1 release van Visual Web Devoloper 2008 Express&amp;nbsp;biedt ook ondersteuning voor beide class library projecten alsook voor webapplicatieprojecten (voordien konden enkel web site projecten erin gebruikt&amp;nbsp;worden). Deze nieuwe ondersteuning&amp;nbsp;kan je afzonderlijk gebruiken&amp;nbsp;in VWD Express,&amp;nbsp;maar&amp;nbsp;ook met&amp;nbsp;ASP.NET en Silverlight projectondersteuning. Als je Visual Web Developer Express &lt;A href="http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx" target=_blank&gt;&lt;FONT color=#0066cc&gt;SP1 Beta&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;installeert kan je onmiddellijk starten met ASP.NET Preview 3.&lt;/P&gt;
&lt;P&gt;Belangrijk: ASP.NET MVC Preview 3 heeft SP1 niet nodig als je Visual Studio 2008 gebruikt. ASP.NET MVC Preview 3 zal perfect werken met VS 2008 en VS 2008 SP1.&lt;/P&gt;
&lt;P&gt;Je kunt meer leren over de nieuwe VWD Express ondersteuning van ASP.NET MVC&amp;nbsp;door &lt;A href="http://blogs.msdn.com/webdevtools/archive/2008/05/30/asp-net-mvc-preview-3-tooling-updates.aspx" target=_blank&gt;&lt;FONT color=#3399ff&gt;hier&lt;/FONT&gt;&lt;/A&gt; de blog van het&amp;nbsp;VS Web Tools team&amp;nbsp;te lezen.&amp;nbsp;Deze post bevat ook een gratis download die ASP.NET MVC Test&amp;nbsp;Project ondersteuning voorziet van NUinit-based unit tests. Je kunt deze NUnit project templates gebruiken met Visual Studio 2008 alsook met Visual Web Developer Express 2008.&lt;/P&gt;
&lt;P&gt;Hopelijk kan je hiermee aan de slag,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Scott.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6241024" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/MVC/default.aspx">MVC</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/.NET/default.aspx">.NET</category></item><item><title>ASP.NET MVC Preview 3 release</title><link>http://weblogs.asp.net/scottgudutch/archive/2008/05/30/asp-net-mvc-preview-3-release.aspx</link><pubDate>Fri, 30 May 2008 10:24:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6232658</guid><dc:creator>Joeri Pansaerts</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottgudutch/rsscomments.aspx?PostID=6232658</wfw:commentRss><comments>http://weblogs.asp.net/scottgudutch/archive/2008/05/30/asp-net-mvc-preview-3-release.aspx#comments</comments><description>&lt;P&gt;Deze morgen&amp;nbsp;publiceerden we de Preview 3 build van&amp;nbsp;het ASP.NET MVC framework. Ik blogde vorige maand&amp;nbsp;gedetailleerd over &lt;A class="" href="http://weblogs.asp.net/scottgudutch/archive/2008/04/19/asp-net-mvc-bron-refresh-preview.aspx" target=_blank mce_href="http://weblogs.asp.net/scottgudutch/archive/2008/04/19/asp-net-mvc-bron-refresh-preview.aspx"&gt;&lt;FONT color=#3399ff&gt;een voorlopige broncode release&lt;/FONT&gt;&lt;/A&gt; waarin we verschillende veranderingen aangebracht&amp;nbsp;hebben met deze Preview 3 release. De versie van vandaag&amp;nbsp;bevat veel van de veranderingen in de Preview 3 release.&amp;nbsp;De build van vandaag bevat ook bijkomende functies die niet aanwezig waren in de drop van vorige maand, enkele mooie verbeteringen en verfijningen alsook&amp;nbsp;tool integratie in Visual Studio en documentatie.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Je kan&amp;nbsp;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=92F2A8F0-9243-4697-8F9A-FCF6BC9F66AB&amp;amp;displaylang=en" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=92F2A8F0-9243-4697-8F9A-FCF6BC9F66AB&amp;amp;displaylang=en"&gt;&lt;FONT color=#3399ff&gt;hier&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;een geintegreerd pakket van de ASP.NET MVC Preview 3 setup downloaden. Als je dat wil, kan je ook de ASP.NET MVC Preview 3 framework broncode en de framework unit tests &lt;A href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=aspnet&amp;amp;ReleaseId=13792" target=_blank mce_href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=aspnet&amp;amp;ReleaseId=13792"&gt;&lt;FONT color=#3399ff&gt;hier&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;downloaden.&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;Veranderingen in de Controller Action Method&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;ASP.NET MVC Preview 3 bevat de MVC&amp;nbsp;Controller&amp;nbsp;veranderingen die we eerder&amp;nbsp;hebben besproken in de&amp;nbsp; &lt;A class="" href="http://weblogs.asp.net/scottgudutch/archive/2008/04/19/asp-net-mvc-bron-refresh-preview.aspx" target=_blank mce_href="http://weblogs.asp.net/scottgudutch/archive/2008/04/19/asp-net-mvc-bron-refresh-preview.aspx"&gt;&lt;FONT color=#3399ff&gt;MVC broncode release van april&lt;/FONT&gt;&lt;/A&gt;, samen met enkele bijkomende aanpassingen.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Je kan action methods blijven schrijven die void retourneren en al hun logica in de action method vervatten. Bijvoorbeeld:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/mvc3announce/step2.png" mce_src="http://www.scottgu.com/blogposts/mvc3announce/step2.png"&gt; &lt;/P&gt;
&lt;P&gt;waardoor je de onderstaande HTML zou krijgen, wanneer uitgevoerd:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/mvc3announce/step3.png" mce_src="http://www.scottgu.com/blogposts/mvc3announce/step3.png"&gt; &lt;/P&gt;
&lt;P&gt;Preview 3 ondersteund nu ook het gebruik van een aanpak waarin je een "ActionResult" object retourneert dat het resultaat van de action methode aantoont en uitgestelde uitvoering mogelijk maakt.&amp;nbsp;Hierdoor kan je veel eenvoudiger actions&amp;nbsp;unit testen ("mocking" is in dit geval dus niet nodig). Ook wordt een&amp;nbsp;veel schonere compositie en algemene control flow van de uitvoering mogelijk.&lt;/P&gt;
&lt;P&gt;Bijvoorbeeld, we gebruiken LINQ to SQL in onze Browse action method om een sequentie van Product objecten te verkrijgen uit onze database en we duiden aan dat we er een View van willen krijgen. De onderstaande code zal drie onderdelen van "ViewData" doorsturen naar de view - "Title" en "CategoryName" stringwaarden, en een sterk getypeerde sequentie van producten (doorgestuurd als het ViewData.Model object):&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/mvc3announce/step5.png" mce_src="http://www.scottgu.com/blogposts/mvc3announce/step5.png"&gt; &lt;/P&gt;
&lt;P&gt;Een duidelijk voordeel van de bovenstaande ActionResult aanpak is dat het unit testen van Controller actions heel eenvouidg wordt ("Mocking" is hier niet nodig). Hieronder zie je een unit test dat het gedrag van onze bovenstaande Browse action method nagaat:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/mvc3announce/step11.png" mce_src="http://www.scottgu.com/blogposts/mvc3announce/step11.png"&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;We kunnen dan een "Browse"&amp;nbsp;ViewPage creëren in de \Views\Products sub-directory om een antwoord te genereren met de ViewData waarin onze Browse action zich bevindt&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/mvc3announce/step6.png" mce_src="http://www.scottgu.com/blogposts/mvc3announce/step6.png"&gt; &lt;/P&gt;
&lt;P&gt;Als we klikken op de /Products/Browse/Beverages URL, dan krijgen we een HTML antwoord zoals hieronder (de drie gebruiken van ViewData zijn omcirkeld in rood):&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/mvc3announce/step7.png" mce_src="http://www.scottgu.com/blogposts/mvc3announce/step7.png"&gt; &lt;/P&gt;
&lt;P&gt;Merk op dat ASP.NET MVC Preview 3 naast de ondersteuning van een "ViewResult" antwoord (om aan te duiden dat een View gegereneerd moet worden), ook ondersteuning biedt om "JsonResult" te retourneren (voor AJAX JSON serialisatie scenario's), alsook ondersteuning voor&amp;nbsp;"ContentResult" (om content te streamen zonder een View), HttpRedirect&amp;nbsp;en RedirectToAction/Route resultaten.&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;De algemene ActionResut aanpak is uitbreidbaar (waardoor je je eigen resultaattypes kan creëren), en met de tijd zul je zien dat we nog meer resultaattypes zullen inbouwen.&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;Verbeterde HTML Helper Methods&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;De&amp;nbsp;HTML helper methods zijn geupdate in&amp;nbsp;ASP.NET MVC Preview 3.&amp;nbsp; Naast een hoop bugherstellingen, bevatten ze ook een aantal mooie verbeteringen naar gebruiksvriendelijkheid toe.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;Automatische Value Lookup&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;Zonder voorgaande preview releases moest je altijd expliciet de waarde invoegen om te kunnen genereren als je de Html helpers aanroept. Bijvoorbeeld: om een waarde te plaatsen in een &amp;lt;input type="text" value="some value"/&amp;gt; element, dan zou je het volgende schrijven:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/mvc3announce/step13.png" mce_src="http://www.scottgu.com/blogposts/mvc3announce/step13.png"&gt; &lt;/P&gt;
&lt;P&gt;De bovenstaande code werkt nog steeds, hoewel je ook gewoon het volgende kan schrijven::&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/mvc3announce/step14.png" mce_src="http://www.scottgu.com/blogposts/mvc3announce/step14.png"&gt; &lt;/P&gt;
&lt;P&gt;De HTML helpers zal nu standaard&amp;nbsp;het ViewData woordenboek en elk Model object controleren dat doorgestuurd is naar de view voor een ProductName keu of een property waarde om te gebruiken.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;SelectList&amp;nbsp;en MultiSelectList ViewModels&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;De HTML helpers bevatten nu nieuwe SelectList&amp;nbsp;en MultiSelectList View-Model&amp;nbsp;klassen&amp;nbsp;en maken HTML dropdown's en multi-select listboxes veel&amp;nbsp;schoner (en dingen zoals huidige selectie, enz.).&amp;nbsp; Een aanpak die zorgt voor schonere formulierscenario's is om deze View-Model objecten te starten en te&amp;nbsp;plaatsen in een controller action,&amp;nbsp;om ze dan in het ViewDatawoordenboek te plaatsen voor de View.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Bijvoorbeeld, hieronder creëer ik een SelectList view-model klasse boven een set van unieke categorie objecten in onze database. Ik duid ook aan dat ik de "CategoryID" property wil gebruiken als de waarde van elk item in de lijst, en de "CategoryName" als display tekst. Ik plaats de lijstselectie ook op de huidige CategoryId van het product dat we editeren:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/mvc3announce/step23.png" mce_src="http://www.scottgu.com/blogposts/mvc3announce/step23.png"&gt; &lt;/P&gt;
&lt;P&gt;In onze view moeten we de onderstaande code schrijven om aan te duiden dat we een drop-down lijst willen creëren tegen de SelectList dat we in de ViewData plaatsen:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/mvc3announce/step17.png" mce_src="http://www.scottgu.com/blogposts/mvc3announce/step17.png"&gt; &lt;/P&gt;
&lt;P&gt;Hierdoor zal de gepaste dropdown gegenereerd worden met items en selectie tijdens de uitvoering:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/mvc3announce/step20.png" mce_src="http://www.scottgu.com/blogposts/mvc3announce/step20.png"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/mvc3announce/step19.png" mce_src="http://www.scottgu.com/blogposts/mvc3announce/step19.png"&gt; &lt;/P&gt;
&lt;P&gt;Onze HTML helpers bevatten nog geen ingebouwde ondersteuning voor errorvalidatie (op dit moment moet je er nog code voor schrijven) - maar in de toekomst zal dit zeker ingebouwd worden, waardoor editeren van formulieren veel gemakkelijker zal worden.&lt;/P&gt;
&lt;P&gt;Je zal ook zien dat er&amp;nbsp;ASP.NET AJAX helper methods zullen verschijnen in toekomstige preview releases, waardoor je gemakkelijker AJAX zal kunnen integreren in MVC applicaties met een minimum aan code.&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;Verbeteringen voor URL Routing&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;ASP.NET MVC Preview 3 bevat een aantal verbeteringen aan het URL routing systeem.&amp;nbsp; URL routing is een van de meest fundamentele componenten van een web MVC framework. Daarom hebben we ons&amp;nbsp;er zo intens op gericht dat dit deelgebied helemaal goed zat in de eerste paar previews.&amp;nbsp;Onze nieuwe URL routing motor zal uitgebracht worden in&amp;nbsp;.NET 3.5 SP1 deze zomer, en zal ondersteuning bieden voor zowel Web Formulieren als MVC verzoeken.&amp;nbsp; ASP.NET MVC zal in staat zijn om de ingebouwde&amp;nbsp;.NET 3.5 SP1 routing motor te gebruiken wanneer uitgevoerd op .NET 3.5 SP1. ASP.NET MVC zal ook een eigen versie hebben van die assembly zodat het ook kan werken op non-SP1 systemen.&lt;/P&gt;
&lt;P&gt;Enkele&amp;nbsp;verbeteringen aan de URL&amp;nbsp;Routing in de&amp;nbsp;Preview 3 release:&lt;/P&gt;
&lt;P&gt;&lt;U&gt;MapRoute() en gnoreRoute() helper methods&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;ASP.NET MVC Preview 3 bevat nieuwe "MapRoute"&amp;nbsp;en "IgnoreRoute" helper methods die je kan gebruiken om gemakkelijker route regels te kunnen registereren.&amp;nbsp;MapRoute()&amp;nbsp;biedt een gemakkelijke manier om&amp;nbsp;een nieuwe MVC&amp;nbsp;Route regel toe te voegen aan de&amp;nbsp;collectie van Routes. IgnoreRoute()&amp;nbsp;biedt een gemakkelijke manier om het URL routing systeem duidelijk te maken om dat het moet stoppen met bepaalde URL patronen te verwerken (fbijvoorbeeld:: handler .axd resources in ASP.NET die gebruikt worden om&amp;nbsp;JavaScript, images, etc te gebruiken).&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Hieronder vind je een voorbeeld van de standaard RegisterRoutes() method in Global.asax wanneer je een nieuw ASP.NET MVC project creëert waarin je beide nieuwe helper methodes in actie kan zien:&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/mvc3announce/step1.png" mce_src="http://www.scottgu.com/blogposts/mvc3announce/step1.png"&gt; &lt;/P&gt;
&lt;P&gt;De MapRoute() helper method is overloaded and takes two, three or four parameters (route name, URL syntax, URL parameter default, and optional URL parameter regular expression constraints).&amp;nbsp; &lt;/P&gt;
&lt;P&gt;You can call MapRoute() as many times as you want to register multiple named routes in the system.&amp;nbsp; For example, in addition to the default convention rule, we could add a "Products-Browse" named routing rule like below:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/aprilmvc/step28.png" mce_src="http://www.scottgu.com/blogposts/aprilmvc/step28.png"&gt;&lt;/P&gt;
&lt;P&gt;We kunnen dan expliciet verwijzen naar deze&amp;nbsp;"Products-Browse" regel in onze Controllers en Views als we een URL ernaar willen genereren.&amp;nbsp;Bijvoorbeeld, we gebruiken de&amp;nbsp;Html.RouteLink view helper om aan te duiden dat we willen linken naar onze "Product-Browse" route en we geven het een "Food" categorie parameter met behulp van&amp;nbsp;code in onze view template zoals hieronder:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;IMG src="http://www.scottgu.com/blogposts/aprilmvc/step29.png" mce_src="http://www.scottgu.com/blogposts/aprilmvc/step29.png"&gt;&lt;/P&gt;
&lt;P&gt;Deze&amp;nbsp;view helper gaat dan het routing systeem binnen en zou een output geven van een gepaste HTML hyperlink URL zoals hieronder (merk op hoe het automatisch parametervervanging toepast van de categorie parameter in de URL met de route regel): &lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/aprilmvc/step30.png" mce_src="http://www.scottgu.com/blogposts/aprilmvc/step30.png"&gt;&lt;/P&gt;
&lt;P&gt;We zouden ook de nieuwe &lt;EM&gt;Url.RouteUrl(routeName, values)&amp;nbsp;&lt;/EM&gt;kunnen gebruiken in views als we alleen de URL wilden opvragen voor een benoemde route (en niet een &amp;lt;a&amp;gt;&amp;nbsp;html element output).&amp;nbsp; &lt;/P&gt;
&lt;P&gt;We zouden ook de nieuwe &lt;EM&gt;RedirectToRoute(routeName, values)&lt;/EM&gt; helper methode kunnen gebruiken op de Controller base class om browser redirects te realiseren gebaseerd op de benoemde routing regels.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;Rijkere URL Route Mapping Functies&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;ASP.NET MVC Preview 3 ondersteunt ook een aantal nieuwe URL route mapping functies. Je kan nu ook &amp;nbsp;"-", ".", ";" gebruiken of elk ander karakter die je wil als onderdeel van je routeregels.&lt;/P&gt;
&lt;P&gt;Bijvoorbeeld, als je een "-"&amp;nbsp;scheidingsteken wil gebruiken, dan kan je nu de taal- en localewaarden afzonderlijk parsen van je URLS&amp;nbsp;met behulp van een regel zoals hieronder:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/aprilmvc/step32.png" mce_src="http://www.scottgu.com/blogposts/aprilmvc/step32.png"&gt;&lt;/P&gt;
&lt;P&gt;Hierdoor zouden gepaste "language", "locale",&amp;nbsp;en "category" parameters naar een ProductsController.Browse action method gestuurd worden wanneer aangeroepen:&lt;/P&gt;
&lt;P mce_keep="true"&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=2 width=856 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=297&gt;&lt;FONT face=arial size=2&gt;&lt;U&gt;URL Route Rule&lt;/U&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=198&gt;&lt;FONT face=arial size=2&gt;&lt;U&gt;Example URL&lt;/U&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=355&gt;&lt;FONT face=arial size=2&gt;&lt;U&gt;Parameters Passed to Action method&lt;/U&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=297&gt;&lt;FONT face=arial size=2&gt;{language}-{locale}/products/browse/{category}&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=198&gt;&lt;FONT face=arial size=2&gt;/en-us/products/browse/food&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=355&gt;&lt;FONT face=arial size=2&gt;language=en, locale=us, category=food&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=296&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=198&gt;&lt;FONT face=arial size=2&gt;/en-uk/products/browse/food&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=355&gt;&lt;FONT face=arial size=2&gt;language=en, locale=uk, category=food&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;Of je kan het "." bestandsextentie type gebruiken op het einde van een url om te bepalen of je het resultaat in XML of in HTML formaat wil laten genereren:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/aprilmvc/step33.png" mce_src="http://www.scottgu.com/blogposts/aprilmvc/step33.png"&gt;&lt;/P&gt;
&lt;P&gt;Hierdoor zouden zowel de "category"&amp;nbsp;en de&amp;nbsp;"format" parameters naar de&amp;nbsp;ProductsController.Browse action method gestuurd worden, wanneer aangeroepen: &lt;/P&gt;
&lt;P&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=2 width=852 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=297&gt;&lt;FONT face=arial size=2&gt;&lt;U&gt;URL Route Rule&lt;/U&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=198&gt;&lt;FONT face=arial size=2&gt;&lt;U&gt;Example URL&lt;/U&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=355&gt;&lt;FONT face=arial size=2&gt;&lt;U&gt;Parameters Passed to Action method&lt;/U&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=297&gt;&lt;FONT face=arial size=2&gt;products/browse/{category}.{format}&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=198&gt;&lt;FONT face=arial size=2&gt;/products/browse/food.xml&lt;/FONT&gt; &lt;/TD&gt;
&lt;TD class="" vAlign=top width=355&gt;&lt;FONT face=arial size=2&gt;category=food, format=xml&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=296&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=198&gt;&lt;FONT face=arial size=2&gt;/products/browse/food.html&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=355&gt;&lt;FONT face=arial size=2&gt;category=food, format=html&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;ASP.NET MVC Preview 3 ondersteunt ook wildcard routeregels (die ook in Preview 2 aanwezig waren).&amp;nbsp;Bijvoorbeeld, je kan in een regel aanduiden dat je alle overblijvende URI content will doorsturen&amp;nbsp;naar een action method als een benoemde parameter:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.scottgu.com/blogposts/aprilmvc/step34.png" mce_src="http://www.scottgu.com/blogposts/aprilmvc/step34.png"&gt; &lt;/P&gt;
&lt;P&gt;Hierdoor zou een "contentUrl" parameter naar de&amp;nbsp;WikiController.DisplayPage action method worden gestuurd wanneer aangeroepen:&lt;/P&gt;
&lt;P mce_keep="true"&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=2 width=852 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=297&gt;&lt;FONT face=arial size=2&gt;&lt;U&gt;URL Route Rule&lt;/U&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=198&gt;&lt;FONT face=arial size=2&gt;&lt;U&gt;Example URL&lt;/U&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=355&gt;&lt;FONT face=arial size=2&gt;&lt;U&gt;Parameters Passed to Action method&lt;/U&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=297&gt;&lt;FONT face=arial size=2&gt;Wiki/Pages/{*contentUrl}&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=198&gt;&lt;FONT face=arial size=2&gt;/Wiki/Pages/People/Scott&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=355&gt;&lt;FONT face=arial size=2&gt;contentUrl="People/Scott"&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=296&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=198&gt;&lt;FONT face=arial size=2&gt;/Wiki/Pages/Countries/UK&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=355&gt;&lt;FONT face=arial size=2&gt;contentUrl="Countries/UK"&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;Deze wildcard routes zijn heel nuttig als je eraan denkt een wiki, blog, cms of ander contentbased systeem te bouwen.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;Samenvatting&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;De Preview 3 release of ASP.NET MVC van vandaag, bevat een hele reeks verbeteringen en verfijningen.&amp;nbsp;Meer en meer&amp;nbsp;krijgen we een goed gevoel over&amp;nbsp;het URL routing&amp;nbsp;en Controller/Action programmeermodel&amp;nbsp;van MVC. We merken dat die deelgebieden&amp;nbsp;heel goed beginnen te boeren. In toekomstige&amp;nbsp;releases zal je meer verbeteringen zien in de hogere&amp;nbsp;tredes van de programmeerladder in gebieden als Views (html helpers, validation helpers, etc), AJAX, sub-controllers&amp;nbsp;en site composition, deeper Login, Authenticatie, Authorisatie&amp;nbsp;en Caching integratie, alsook data scaffolding ondersteuning.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Ik heb ook nog een (zeer) lange tutorialpost dat ik ben beginnen schrijven&amp;nbsp;in het afgelopen weekend, waarin ik gedetailleerd alle stappen overloop om een applicatie te bouwen met&amp;nbsp;ASP.NET MVC Preview 3. Ik hoop dat ik die tutorial snel afheb, zodat ik het de komende&amp;nbsp;dagen kan posten. Dit zou een goede intro moeten zijn van&amp;nbsp;ASP.NET MVC, maar ook een hulp om je wat meer context te bieden rond hoe alle onderdelen een geheel vormen, als je interesse hebt om de ASP.NET MVC optie te gebruiken.&lt;/P&gt;
&lt;P&gt;Ik hoop dat jullie hiermee aan de slag kunnen,&lt;/P&gt;
&lt;P&gt;Scott&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6232658" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/User+Controls/default.aspx">User Controls</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/MVC/default.aspx">MVC</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/UNIT+TEST/default.aspx">UNIT TEST</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category></item><item><title>Links op 20 mei: ASP.NET, ASP.NET AJAX, .NET, Visual Studio, Silverlight, WPF</title><link>http://weblogs.asp.net/scottgudutch/archive/2008/05/24/links-op-20-mei-asp-net-asp-net-ajax-net-visual-studio-silverlight-wpf.aspx</link><pubDate>Sat, 24 May 2008 06:44:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6216531</guid><dc:creator>Joeri Pansaerts</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottgudutch/rsscomments.aspx?PostID=6216531</wfw:commentRss><comments>http://weblogs.asp.net/scottgudutch/archive/2008/05/24/links-op-20-mei-asp-net-asp-net-ajax-net-visual-studio-silverlight-wpf.aspx#comments</comments><description>&lt;TABLE class=MsoNormalTable style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellPadding=0 border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Mijn verontschuldigingen voor de weinige posts de laatste weken. Mijn werk en leven zijn enorm de druk de laatste tijd. Hieronder vind je een nieuwe post in mijn &lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: NL-BE; mso-fareast-language: NL-BE; mso-bidi-language: AR-SA"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: NL-BE; mso-fareast-language: NL-BE; mso-bidi-language: AR-SA"&gt;&lt;A href="http://weblogs.asp.net/scottgu/archive/2008/04/28/april-28th-links-asp-net-asp-net-ajax-asp-net-mvc-silverlight.aspx" target=_blank mce_href="http://weblogs.asp.net/scottgu/archive/2008/04/28/april-28th-links-asp-net-asp-net-ajax-asp-net-mvc-silverlight.aspx"&gt;link-listing series&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; waarin je weer heel wat nieuwe info zal vinden. Neem zeker ook even een kijkje op mijn &lt;A href="http://weblogs.asp.net/scottgu/pages/ASP.NET-2.0-Tips_2C00_-Tricks_2C00_-Recipes-and-Gotchas.aspx" target=_blank mce_href="http://weblogs.asp.net/scottgu/pages/ASP.NET-2.0-Tips_2C00_-Tricks_2C00_-Recipes-and-Gotchas.aspx"&gt;&lt;FONT color=#0000ff&gt;ASP.NET Tips, Tricks and Tutorials pagina&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;en &lt;A href="http://weblogs.asp.net/scottgu/pages/silverlight-posts.aspx" target=_blank mce_href="http://weblogs.asp.net/scottgu/pages/silverlight-posts.aspx"&gt;&lt;FONT color=#0000ff&gt;Silverlight Tutorials pagina&lt;/FONT&gt;&lt;/A&gt; voor links naar populaire artikels die ik een tijd geleden heb geschreven.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0cm"&gt;&lt;U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;ASP.NET&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://mattberseth.com/blog/2008/05/bulk_inserting_data_with_the_l.html" target=_blank mce_href="http://mattberseth.com/blog/2008/05/bulk_inserting_data_with_the_l.html"&gt;&lt;FONT color=#0000ff&gt;Bulk Inserting Data met de ListView Control&lt;/FONT&gt;&lt;/A&gt;: Matt Berseth Zet zijn schitterende posts voort met eentje dat toont hoe je omgaat met bulk-editing van data met&amp;nbsp;de ASP.NET ListView control in .NET 3.5.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://mattberseth.com/blog/2008/04/masterdetail_with_the_gridview.html" target=_blank mce_href="http://mattberseth.com/blog/2008/04/masterdetail_with_the_gridview.html"&gt;&lt;FONT color=#0000ff&gt;Master-Detail&amp;nbsp;met de&amp;nbsp;GridView, DetailsView,&amp;nbsp;en ModalPopup Controls&lt;/FONT&gt;&lt;/A&gt;: Een andere goede post van Matt waarin hij beschrijft hoe je fijntjes omgaat met&amp;nbsp;een gewone data entry scenario.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://www.thebrainparasite.com/post/Creating-great-thumbnails-in-ASPNET.aspx" target=_blank mce_href="http://www.thebrainparasite.com/post/Creating-great-thumbnails-in-ASPNET.aspx"&gt;&lt;FONT color=#0000ff&gt;Mooie Thumbnail afbeeldingen creëren in ASP.NET&lt;/FONT&gt;&lt;/A&gt;: Een hele goede blogpost van een andere Matt waarin gedetailleerd wordt een methode wordt beschreven hoe je thumbnail afbeeldingen van hoge (en lage) kwaliteit kan genereren.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://aspnet.4guysfromrolla.com/articles/051408-1.aspx" target=_blank mce_href="http://aspnet.4guysfromrolla.com/articles/051408-1.aspx"&gt;&lt;FONT color=#0000ff&gt;De gebruiker waarschuwen als Caps-Lock aanstaat&lt;/FONT&gt;&lt;/A&gt;: Scott Mitchell heeft een goed artikel waarin hij beschrijft hoe je automatisch gebruikers op loginpagina's kunt detecteren en waarschuwen als de caps-lock aanstaat.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://blogs.msdn.com/tess/archive/2008/05/14/asp-net-performance-issue-large-number-of-application-restarts-due-to-virus-scanning.aspx" target=_blank mce_href="http://blogs.msdn.com/tess/archive/2008/05/14/asp-net-performance-issue-large-number-of-application-restarts-due-to-virus-scanning.aspx"&gt;&lt;FONT color=#0000ff&gt;ASP.NET Prestatieprobleem: Veel heropstarten van applicatie door virusscanners&lt;/FONT&gt;&lt;/A&gt;: Tess Ferrandez heeft een schitterende post waarin een debug sessie op een gedetailleerde manier wordt beschreven om te bepalen waarom een ASP.NET applicatie vaak herstartte (waardoor de prestatie verlaagt).&amp;nbsp; Het probleem was een virusscanner waardoor bestanden voortdurend werden geupdate. Zorg ervoor dat je de logincode controleert die je kan toevoegen aan je applicatie om dergelijke oorzaken van&amp;nbsp;heropstarten&amp;nbsp;te herkennen.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;H3 style="MARGIN: auto 0cm"&gt;&lt;U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;ASP.NET AJAX&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo6; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://mattberseth.com/blog/2008/05/aspnet_ajax_progress_bar_contr.html" target=_blank mce_href="http://mattberseth.com/blog/2008/05/aspnet_ajax_progress_bar_contr.html"&gt;&lt;FONT color=#0000ff&gt;ASP.NET AJAX Progress Bar Control&lt;/FONT&gt;&lt;/A&gt;: Matt Berseth heeft nog een ander schitterend artikel waarin hij&amp;nbsp;de nieuwe ASP.NET AJAX Progress Bar control beschrijft.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l10 level1 lfo7; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://msmvps.com/blogs/omar/archive/2008/05/10/fast-asp-net-web-page-loading-by-downloading-multiple-javascripts-in-batch.aspx" target=_blank mce_href="http://msmvps.com/blogs/omar/archive/2008/05/10/fast-asp-net-web-page-loading-by-downloading-multiple-javascripts-in-batch.aspx"&gt;&lt;FONT color=#0000ff&gt;Sneller paginaladen door meerdere JavaScript bestanden in Batch te combineren&lt;/FONT&gt;&lt;/A&gt;: Omar Al Zabir (stichter van &lt;A href="http://www.pageflakes.com/" target=_blank mce_href="http://www.pageflakes.com/"&gt;&lt;FONT color=#0000ff&gt;PageFlakes.com&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;en auteur van het schitterende boek&amp;nbsp;&lt;A href="http://www.amazon.com/gp/product/0596510500/102-8343841-3890548?ie=UTF8&amp;amp;tag=scoblo04-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0596510500" target=_blank mce_href="http://www.amazon.com/gp/product/0596510500/102-8343841-3890548?ie=UTF8&amp;amp;tag=scoblo04-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0596510500"&gt;&lt;FONT color=#0000ff&gt;Building a Web 2.0 Portal with ASP.NET 3.5&lt;/FONT&gt;&lt;/A&gt; ) heeft een goed artikel waarin hij het prestatievoordeel beschrijft van de samenvoeging van meerdere JavaScript bestanddownloads.&amp;nbsp; Onthou ook dat &lt;A href="http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx" target=_blank mce_href="http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx"&gt;.NET 3.5 SP1&lt;/A&gt;&amp;nbsp;een nieuw script combiner functie zal bevatten&amp;nbsp;die je helpt om dit nog gemakkelijker te doen.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l10 level1 lfo7; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://pietschsoft.com/post/2008/05/ASPNET_Create_AJAX_Server_Controls_using_the_ScriptControl_base_class.aspx" target=_blank&gt;&lt;FONT color=#0000ff&gt;ASP.NET AJAX Server Controls creëren met de&amp;nbsp;ScriptControl base class&lt;/FONT&gt;&lt;/A&gt;: Chris Pietschmann heeft een goed artikel over hoe je ASP.NET AJAX server controls kan bouwen door ze te af te leiden van de ingebouwde ScriptControl base class.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://encosia.com/2008/05/16/inline-edit-box-on-codeplex-and-new-postback-ritalin-beta/" target=_blank&gt;&lt;FONT color=#0000ff&gt;Inline Edit Box&amp;nbsp;en Postback Ritalin Beta&lt;/FONT&gt;&lt;/A&gt;: Dave Ward&amp;nbsp;en Mike Davis hebben een nieuw CodePlex project gecreëerd voor hun populaire Inline Edit Box&amp;nbsp;en PostBack Ritalin ASP.NET AJAX controls.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; &lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;H3 style="MARGIN: auto 0cm"&gt;&lt;U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l11 level1 lfo3; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://igoro.com/archive/7-tricks-to-simplify-your-programs-with-linq/" target=_blank&gt;&lt;FONT color=#0000ff&gt;7 manieren om je code te vereenvoudigen met LINQ&lt;/FONT&gt;&lt;/A&gt;: Igor Ostrovsky heeft een schitterende blogpost over nieuwe programmeertechnieken die je kan gebruiken om je code te verbeteren met .NET 3.5 en de nieuwe taal en de LINQ functies erin.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l11 level1 lfo3; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://blogs.msdn.com/mitsu/archive/2008/04/02/visual-linq-query-builder-for-linq-to-sql-vlinq.aspx" target=_blank&gt;&lt;FONT color=#0000ff&gt;Visuele LINQ Query Bouwer&amp;nbsp;voor LINQ to SQL&lt;/FONT&gt;&lt;/A&gt;: Mitsu Furuta heeft een toffe Visual Studio designer gecreëerd waarmee je grafisch LINQ to SQL queries kan bouwen. Download zeker ook de nieuwste&amp;nbsp;&lt;A href="http://www.linqpad.net/" target=_blank&gt;&lt;FONT color=#0000ff&gt;LINQPad&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;tool, die zeer waardevol is om LINQ te leren en om LINQ queries&amp;nbsp;uit te proberen.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l11 level1 lfo3; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://www.pluralsight.com/blogs/aaron/archive/2008/05/13/50934.aspx" target=_blank&gt;&lt;FONT color=#0000ff&gt;DataContracts&amp;nbsp;zonder attributen (POCO ondersteuning):&lt;/FONT&gt;&lt;/A&gt; Aaron Skonnard heeft een goede post over een mooie verandering in gebruiksvriendelijkheid met .NET 3.5 SP1 waardoor je POCO (de gewone en bekende objecten) in serie te&amp;nbsp;plaatsen met de&amp;nbsp;WCF serializers.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l11 level1 lfo3; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://www.thejoyofcode.com/Introducing_Ukadc_Diagnostics.aspx" target=_blank&gt;&lt;FONT color=#0000ff&gt;Ukadc.Diagnostics&lt;/FONT&gt;&lt;/A&gt;: Josh Twist wees me op een nieuw CodePlex project waaraan hij werkt dat de System.Diagnostics functies uitbreidt&amp;nbsp;in .NET&amp;nbsp;voor betere logfuncties (SQL traceerondersteuning, e-mail ondersteuning, etc).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; &lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;H3 style="MARGIN: auto 0cm"&gt;&lt;U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Visual Studio&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo7; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: NL-BE; mso-fareast-language: NL-BE; mso-bidi-language: AR-SA"&gt;&lt;A href="http://www.dev102.com/2008/05/06/11-more-visual-studio-shortcuts-you-should-know/" target=_blank&gt;&lt;FONT color=#0000ff&gt;11 VS Short Cuts die je zou moeten kennen&lt;/FONT&gt;&lt;/A&gt;:&amp;nbsp;Een geweldige post over een hoop nuttige shortcuts om&amp;nbsp;af te printen en te&amp;nbsp;onthouden voor wanneer je met Visual Studio werkt.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt; mso-list: l6 level1 lfo8; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://blogs.msdn.com/saraford/archive/2008/05/20/did-you-know-you-can-show-extension-methods-in-the-object-browser-219.aspx" target=_blank&gt;&lt;FONT color=#0000ff&gt;Wist je dat je extensiemethodes kan tonen in de&amp;nbsp;object browser?:&lt;/FONT&gt;&lt;/A&gt; Sara Ford zet haar schitterende "Wist je dat" reeks verder. Ik moet toegeven dat ik deze ook nog niet kende!&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;H3 style="MARGIN: auto 0cm"&gt;&lt;U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Silverlight&lt;/SPAN&gt;&lt;/U&gt;&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://www.nikhilk.net/Entry.aspx?id=195" target=_blank&gt;&lt;FONT color=#0000ff&gt;AutoComplete voor Silverlight TextBoxes&lt;/FONT&gt;&lt;/A&gt;: Nikhil Kothari heeft een goede blogpost over hoe hij een auto-complete behavior control maakt voor Silverlight.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://blogs.msdn.com/swiss_dpe_team/archive/2008/05/09/scrolling-through-large-resultset-with-silverlight-2-beta1-and-linq-to-sql.aspx" target=_blank&gt;&lt;FONT color=#0000ff&gt;Scrollen door&amp;nbsp;lange resultatenreeksen met&amp;nbsp;Silverlight 2&amp;nbsp;en LINQ to SQL&lt;/FONT&gt;&lt;/A&gt;: Het Zwitserse&amp;nbsp;MSDN team heeft een goede blogpost over hoe je door&amp;nbsp;lange resultatenreeksen moet scrollen met de&amp;nbsp;Silverlight DataGrid&amp;nbsp;en LINQ to SQL.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://blogs.msdn.com/delay/archive/2008/05/04/ivalueconverter-the-swiss-army-knife-of-bindings-propertyviewer-sample-is-a-wpf-silverlight-visualization-and-debugging-aid.aspx" target=_blank&gt;&lt;FONT color=#0000ff&gt;IValueConverter: Het zwitserse zakmes van bindings&lt;/FONT&gt;&lt;/A&gt;: David Anson heeft een nuttige blogpost en voorbeeld, waarmee wordt getoond hoe je de IValueConverter functie kan gebruiken&amp;nbsp;in Silverlight en&amp;nbsp;WPF om rijkere binding te ondersteunen tegenover complexe objecten.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://petermcg.wordpress.com/2008/05/18/silverlight-20-pie-chart/" target=_blank&gt;&lt;FONT color=#0000ff&gt;Silverlight 2 Pie Chart:&lt;/FONT&gt;&lt;/A&gt; Peter McGrattan heeft een goede control en goed artikel gepost over hoe je een nieuwe Silverlight charting control die hij heeft geschreven, kunt gebruiken.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;H3 style="MARGIN: auto 0cm"&gt;&lt;U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;WPF&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://channel9.msdn.com/Showforum.aspx?forumid=14&amp;amp;tagid=329" target=_blank&gt;&lt;FONT color=#0000ff&gt;WPF week op Channel9&lt;/FONT&gt;&lt;/A&gt;: Bekijk 6 schitterende videos op&amp;nbsp;Channel9.&amp;nbsp; Elk van deze videos bevat interviews en demos met leden van het&amp;nbsp;WPF team waarin ze spreken over het werk aan WPF 3.5 SP1 (lees&amp;nbsp;&lt;A href="http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx" target=_blank&gt;here&lt;/A&gt; mijn blogpost voor een samenvatting van bepaalde onderdelene).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://windowsclient.net/wpf/white-papers/wpf-app-quality-guide.aspx" target=_blank&gt;&lt;FONT color=#0000ff&gt;WPF Testing&amp;nbsp;en Application Quality Guide&lt;/FONT&gt;&lt;/A&gt;: Neem een kijkje in de&amp;nbsp;0.2 release van een gratis online boek dat ontwikkeld is door Microsoft. Het behandelt de methodes om WPF applicaties te testen. Het is een bookmark waard als je zelf bezig bent met WPF ontwikkeling.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://www.codeproject.com/KB/WPF/MovingTowardWpfBinding.aspx" target=_blank&gt;&lt;FONT color=#0000ff&gt;Stap per stap&amp;nbsp;WPF Data Binding&lt;/FONT&gt;&lt;/A&gt;: Josh Smith heeft een schitterend artikel over CodeProject.com waarin WPF data binding wordt uitgelegd en stap voor stap alles verklaart.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://blogs.msdn.com/llobo/archive/2008/05/19/wpf-3-5-sp1-feature-stringformat.aspx" target=_blank&gt;&lt;FONT color=#0000ff&gt;WPF 3.5 SP1 StringFormat&lt;/FONT&gt;&lt;/A&gt;: Lester heeft een goede post waarin hij beschrijft hoe je de nieuwe StringFormat functie in WPF 3.5 SP1 kan gebruiken.&amp;nbsp; Dit maakt het veel eenvoudiger om datagebonden waarden te wijzigen.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Hopelijk kunnen jullie hiermee aan de slag,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Scott&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;BR&gt;&lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6216531" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/WPF/default.aspx">WPF</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/Databinding/default.aspx">Databinding</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/User+Controls/default.aspx">User Controls</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/scottgudutch/archive/tags/Link+Listing/default.aspx">Link Listing</category></item><item><title>Visual Studio 2008 en .NET Framework 3.5 Service Pack 1 Beta </title><link>http://weblogs.asp.net/scottgudutch/archive/2008/05/15/visual-studio-2008-en-net-framework-3-5-service-pack-1-beta.aspx</link><pubDate>Thu, 15 May 2008 09:33:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6191736</guid><dc:creator>Joeri Pansaerts</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottgudutch/rsscomments.aspx?PostID=6191736</wfw:commentRss><comments>http://weblogs.asp.net/scottgudutch/archive/2008/05/15/visual-studio-2008-en-net-framework-3-5-service-pack-1-beta.aspx#comments</comments><description>&lt;P&gt;Eerder deze&amp;nbsp;week brachten we een&amp;nbsp;publieke betaversie uit van de komende .NET 3.5 SP1 en VS 2008 SP1. &amp;nbsp;Deze onderhoudsupdate biedt&amp;nbsp;een hele reeks bug-herstellingen en prestatieverbeteringen van problemen die gemeld zijn sinds&amp;nbsp;de release van de producten in november. Er zijn&amp;nbsp;ook&amp;nbsp;tal van functies&amp;nbsp;toegevoegd en verbeterd om vlotter .NET applicaties te kunnen bouwen (zie hieronder voor meer details). &lt;/P&gt;
&lt;P&gt;We voorzien de finale release van zowel .NET 3.5 SP1 als VS 2008 SP1 deze zomer in de vorm van&amp;nbsp;gratis updates. Je kunt de betaversie &lt;A href="http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx" target=_blank&gt;hier&lt;/A&gt; downloaden en installeren.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;Belangrijk:&amp;nbsp;opmerkingen over de SP1 Beta Installatie&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;De&amp;nbsp;SP1 beta die vandaag is uitgebracht is nog&amp;nbsp; steeds een betaversie. Je moet dus voorzichtig zijn met de installatie op&amp;nbsp;belangrijke machines. Er zijn enkele belangrijke&amp;nbsp;opmerkingen bij de installatie van SP1 Beta waar je&amp;nbsp;rekening moet mee houden :&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1)&amp;nbsp;Als je systeem opereert onder Windows Vista, dan moet je ervoor zorgen dat je Vista SP1 hebt geïnstalleerd voordat je probeert de .NET 3.5 SP1 te installeren. Er zijn enkele set up problemen met .NET 3.5 SP1 wanneer je hem installeert onder de Vista RTM release. Deze problemen zullen worden opgelost voor de finale versie van .NET 3.5 SP1 release. Zorg er tot die tijd voor dat je Vista SP1 hebt geïnstall