<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>dotNET Station &#187; Ma récap .NET</title>
	<atom:link href="https://blog.developpez.com/dotnetstation/pcategory/ma-recap-net/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/dotnetstation</link>
	<description></description>
	<lastBuildDate>Fri, 20 Apr 2012 08:55:56 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Test Unitaire et couche d&#8217;accès</title>
		<link>https://blog.developpez.com/dotnetstation/p9019/divers/test_unitaire_et_couche_d_acces</link>
		<comments>https://blog.developpez.com/dotnetstation/p9019/divers/test_unitaire_et_couche_d_acces#comments</comments>
		<pubDate>Tue, 22 Jun 2010 09:28:07 +0000</pubDate>
		<dc:creator><![CDATA[rad_hass]]></dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Divers]]></category>
		<category><![CDATA[Ma récap .NET]]></category>
		<category><![CDATA[Test]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Voici un des grands classiques des tests unitaires, la fameuse couche d&#8217;accès et la problématique lié à la base de donnée &#8230; Comme pour tout problème non trivial, il existe une multitude de solutions, d&#8217;ailleurs il n y a pas longtemps une liste des solutions possibles a été donnée dans un des blogs de developpez : http://blog.developpez.com/nico-pyright/p8194/c/tests-unitaires-comment-tester-sa-couche/ Pour moi la base de donnée fait partie intégrante du système et pour cette raison je ne conçois [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Voici un des grands classiques des tests unitaires, la fameuse couche d&rsquo;accès et la problématique lié à la base de donnée &#8230;</p>
<p>Comme pour tout problème non trivial, il existe une multitude de solutions, d&rsquo;ailleurs il n y a pas longtemps une liste des solutions possibles a été donnée dans un des blogs de developpez :</p>
<p>http://blog.developpez.com/nico-pyright/p8194/c/tests-unitaires-comment-tester-sa-couche/</p>
<p>Pour moi la base de donnée fait partie intégrante du système et pour cette raison je ne conçois pas des test indépendant de la base (en tout cas en ce qui concerne la DAL), quitte à rendre cette partie de mes test moins unitaires.<br />
Et la meilleure façon de tester en évitant les surprises est de tester dans des conditions proches de l&rsquo;environnement de production. Mais ceci pose un problème majeur, comment peut on garantir le même résultat pour plusieurs exécutions ?</p>
<p><span id="more-28"></span></p>
<p>Pour remédier à cela, il existe des Frameworks qui permettent de faire certaines choses (DBunit &#8230;), initialiser les données avant de lancer les tests, par exemple.<br />
Mais de toutes les approches, je préfère celle qui manipule directement le contenu de la base sans altérer son contenu, évitant par ailleurs le télescopage entre plusieurs test.</p>
<p>Certains Frameworks permettent l&rsquo;utilisation de l&rsquo;attribut Rollback, Nunit permet de le faire mais seulement avec une extension (xtUnit pour qui ça intéresse), l&rsquo;autre solution serait d&rsquo;utiliser TransactionScope :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[Test] <br />
&nbsp; &nbsp; &nbsp; &nbsp; public void InsertCustomer_CheckQuantityClientInsert_CorrectInsertion() <br />
&nbsp; &nbsp; &nbsp; &nbsp; { <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Customer customer = new Customer(&quot;Nicolas&quot;,&quot;Paris&quot;); <br />
&nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; using (TransactionScope transaction = new TransactionScope()) <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int nbInserted = customerDAL.InsertCustomer(customer); <br />
&nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Assert.That(nbInserted, Is.EqualTo(1)); <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } <br />
&nbsp; &nbsp; &nbsp; &nbsp; }</div></div>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[Test] <br />
&nbsp; &nbsp; &nbsp; &nbsp; public void InsertCustomer_CustomerExistsInDatabase_FailureInsertion() <br />
&nbsp; &nbsp; &nbsp; &nbsp; { <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Customer customer = new Customer(&quot;Nicolas&quot;,&quot;Paris&quot;); <br />
&nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; using (TransactionScope transaction = new TransactionScope()) <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int nbInserted = customerDAL.InsertCustomer(customer); <br />
&nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Assert.That(nbInserted, Is.EqualTo(0)); <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } <br />
&nbsp; &nbsp; &nbsp; &nbsp; }</div></div>
<p>Pour exécuter un tel test il faut :</p>
<p>&#8211; Référencer System.transactions<br />
&#8211; Avoir une entité Customer<br />
&#8211; Une class d&rsquo;accès customerDAL ayant une méthode InsertCustomer qui retourne le nombre de lignes affectées.</p>
<p><strong>Autre scénario</strong></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[Test] <br />
&nbsp; &nbsp; &nbsp; &nbsp; public void InsertCustomer_CheckQuantityClientInsert_CorrectInsertion() <br />
&nbsp; &nbsp; &nbsp; &nbsp; { <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Customer customer = new Customer(5, &quot;Nicolas&quot;,&quot;Paris&quot;); <br />
&nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; using (TransactionScope transaction = new TransactionScope()) <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int nbInserted = customerDAL.InsertCustomer(customer); <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Customer customerResult = = customerDAL.GetCustomerById(5); <br />
&nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Assert.That(customerResult.City , Is.EqualTo(&quot;Paris&quot;)); <br />
&nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; customer.City = &quot;London&quot;; <br />
&nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int nbUpdated = customerDAL.UpdateCustomer(customer); <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; customerResult = customerDAL.GetCustomerById(5); <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Assert.That(nbUpdated, Is.EqualTo(1)); <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Assert.That(customerResult.City , Is.EqualTo(&quot;London&quot;)); <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } <br />
&nbsp; &nbsp; &nbsp; &nbsp; }</div></div>
<p>Voici un scénario pas forcément très unitaire, mais qui permet de tester efficacement une mise à jour, à condition que l&rsquo;insertion et la sélection soit bien tester également.<br />
La condition de l&rsquo;utilisation de TransactionScope ici est que la IDBConnection soit partager entre les différentes méthodes appelées de la DAL.</p>
<p>Donc pour conclure ma solution n&rsquo;est pas forcément un Test Unitaire, mais pour l&rsquo;instant c&rsquo;est la seule qui m&rsquo;est vraiment convaincu <img src="https://blog.developpez.com/dotnetstation/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[ASP.NET]customErrors : Redirection vers une page d&#8217;erreur avec un statut 302</title>
		<link>https://blog.developpez.com/dotnetstation/p7975/divers/customerrors_redirection_vers_une_page_d_302</link>
		<comments>https://blog.developpez.com/dotnetstation/p7975/divers/customerrors_redirection_vers_une_page_d_302#comments</comments>
		<pubDate>Mon, 24 Aug 2009 13:18:22 +0000</pubDate>
		<dc:creator><![CDATA[rad_hass]]></dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Ma récap .NET]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[En ASP.NET il est assez simple de mettre en place une page d&#8217;erreur personnalisée, pour un résultat satisfaisant à priori. Mais dans les coulisses il y a un résultat indésirable provoqué par ce mécanisme, la page d&#8217;erreur n&#8217;est plus dans un statut 404 Not Found (comme l&#8217;est la page d&#8217;erreur pas défaut), elle a dorénavant un statut 302 Found. Ce qui est selon plusieurs sources problématiques pour le référencement, problèmes répercutés dans les moteurs de [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>En ASP.NET il est assez simple de mettre en place une page d&rsquo;erreur personnalisée, pour un résultat satisfaisant à priori. </p>
<p>Mais dans les coulisses il y a un résultat indésirable provoqué par ce mécanisme, la page d&rsquo;erreur n&rsquo;est plus dans un statut 404 Not Found (comme l&rsquo;est la page d&rsquo;erreur pas défaut), elle a dorénavant un statut 302 Found. Ce qui est selon plusieurs sources problématiques pour le référencement, problèmes répercutés dans les moteurs de recherche à travers leurs robots d&rsquo;indexations.</p>
<p><span id="more-18"></span></p>
<p>Cependant il existe une solution permettant de forcer le statuscode à 404, en développant un petit module HTTP qui substitut le fonctionnement de l&rsquo;événement HttpContext.Error si une HttpException est rencontrée.</p>
<p>Plus de détail en suivant ce lien :</p>
<p>http://www.colincochrane.com/post/2008/01/ASP-NET-Custom-Errors-Preventing-302-Redirects-To-Custom-Error-Pages.aspx</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Certification 70-536, les bases du développement d&#8217;applications avec .NET 2.0</title>
		<link>https://blog.developpez.com/dotnetstation/p7646/divers/certification_70_536_les_bases_du_develo_0</link>
		<comments>https://blog.developpez.com/dotnetstation/p7646/divers/certification_70_536_les_bases_du_develo_0#comments</comments>
		<pubDate>Thu, 11 Jun 2009 12:05:59 +0000</pubDate>
		<dc:creator><![CDATA[rad_hass]]></dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Ma récap .NET]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[J&#8217;ai passé avec succès y a quelques jours la certification 70-536, qui est un palier obligatoire dans le cursus de certification .NET (pour avoir les titres MCTS ou MCPD). Cette certification est assez complète, elle parcourt les grandes lignes du framework .NET : Sécurité, Thread, Flux, Debug, Intérop, Localisation &#8230; Ce qui m&#8217;a frappé en premier lieu c&#8217;est le grand nombre de question sur la sécurité et la difficulté de certaines questions. J&#8217;ai mis beaucoup [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>J&rsquo;ai passé avec succès y a quelques jours la certification 70-536, qui est un palier obligatoire dans le cursus de certification .NET (pour avoir les titres MCTS ou MCPD).</p>
<p>Cette certification est assez complète, elle parcourt les grandes lignes du framework .NET : Sécurité, Thread, Flux, Debug, Intérop, Localisation &#8230;</p>
<p><span id="more-15"></span></p>
<p>Ce qui m&rsquo;a frappé en premier lieu c&rsquo;est le grand nombre de question sur la sécurité et la difficulté de certaines questions.</p>
<p>J&rsquo;ai mis beaucoup de temps à lire le bouquin (pavé plutôt) &laquo;&nbsp;Les bases du développement d&rsquo;applications avec .NET 2.0 : MCTS Examen 70-536&Prime; et les derniers jours (le WE d&rsquo;avant lol) j&rsquo;ai essayé de faire une petite révision à l&rsquo;aide du précieux site Dotnet-France. Autant dire que je n&rsquo;étais pas vraiment bien préparé pour le passage, sentiment qui s&rsquo;est confirmé après que j&rsquo;ai découvert les 8 premières questions qui étaient toutes basé sur la sécurité, mais pas de temps à perdre il faut répondre aux 40 questions, certaines partie du livre sont complètement ignoré ou très peu représenté. </p>
<p>Mais au finale le niveau du test est intéressent, avec quelques questions qui demande un peu réflexion.</p>
<p>Si vous vous préparez à passer cette certification, le kit de certification est un bon support, les résumés du site Dotnet-France sont vraiment bien fait avec en bonus 3 tests pour vous évoluer.</p>
<p>N&rsquo;hésiter pas insister sur la partie sécurité, globalisation.</p>
<p>Bonne révision et bon courage <img src="https://blog.developpez.com/dotnetstation/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>La grande messe des dotnetiens</title>
		<link>https://blog.developpez.com/dotnetstation/p7231/news-net/dotnet_microsoft_techdays_la_grane_messe</link>
		<comments>https://blog.developpez.com/dotnetstation/p7231/news-net/dotnet_microsoft_techdays_la_grane_messe#comments</comments>
		<pubDate>Sat, 14 Feb 2009 11:23:06 +0000</pubDate>
		<dc:creator><![CDATA[rad_hass]]></dc:creator>
				<category><![CDATA[Ma récap .NET]]></category>
		<category><![CDATA[News .NET]]></category>
		<category><![CDATA[Regard sur l&#039;actualité]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[En début de cette semaine a débuté l&#8217;événement majeur pour les développeurs .NET en France (voir même en Europe me dis-t-en). La grande messe a sonné, débutant mardi matin par la grande conférence de la journée la plénière ouvrant une journée marathon où chacun aurait fait son planning, entre découverte et consolidation, WPF, ASP.NET 4, TFS &#8230; Y en avait pour tous les goûts que vous soyez développeur, chef de projet voir même décideur, si [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>En début de cette semaine a débuté l&rsquo;événement majeur pour les développeurs .NET en France (voir même en Europe me dis-t-en). La grande messe a sonné, débutant mardi matin par la grande conférence de la journée la plénière ouvrant une journée marathon où chacun aurait fait son planning, entre découverte et consolidation, WPF, ASP.NET 4, TFS &#8230; Y en avait pour tous les goûts que vous soyez développeur, chef de projet voir même décideur, si vous vous intéressez à la plateforme .NET cette événement est fait pour vous, dans le cadre non moins agréable du Palais Maillot.</p>
<p>Je n&rsquo;ai pu assister pour ma part qu&rsquo;à la première journée, mais j&rsquo;ai essayé d&rsquo;en profiter un maximum pour voir ou revoir les sujets qui m&rsquo;ont passionnés &#8230; Voici mon planning :</p>
<p>&#8211; Plénières<br />
&#8211; WPF et application métier.<br />
&#8211; Les bénéfices de la mise en œuvre d&rsquo;une usine logicielle<br />
&#8211; Les nouveautés ASP.NET 4.0<br />
&#8211; Optimiser vos sites ASP.NET et ASP.NET Ajax<br />
&#8211; Entity Framework</p>
<p><span id="more-5"></span></p>
<p>Ma journée au techdays a commencé avec la grande conférence, où les démos et les sujets ce sont enchaînés (SaaS Azure, Visual Studio 2010, Windows 7) et j&rsquo;en retiens la démo raté de Windows 7, où le multitouch n&rsquo;était pas très efficace et Visual Studio 2010.</p>
<p><strong>WPF</strong></p>
<p>Mais heureusement que la suite était beaucoup plus intéressante, j&rsquo;ai commencé avec WPF présenté par Mitsu Furuta. Une des forces de WPF est le binding, dans cette session Mitsu a balayé nombre de sujets :</p>
<p>&#8211; L&rsquo;utilisation de Linq<br />
&#8211; Les converters<br />
&#8211; RelativeSource<br />
&#8211; ErrorTemplate : Validation Rules …<br />
&#8211; View<br />
&#8211; ContentControl</p>
<p>J&rsquo;en parle pas plus en détails pour une simple et bonne raison, cette session est un résumé de l&rsquo;événement Mercredis des développements de décembre, dont les podcats sont d&rsquo;or et déjà présent sur le Web à cette adresse :</p>
<p>http://msdn.microsoft.com/fr-fr/netframework/msdn.wpf.applications.metier.aspx</p>
<p><strong>Usine logicielle</strong></p>
<p>J&rsquo;ai hésité avant d&rsquo;assister à cette conférence, mais comme la session Silverlight est un Workshop réchauffé de labs présent sur le Web depuis presque un an, je suis allé à la découverte de la mise en place d&rsquo;une Usine logicielle avec TFS (et autres outils).<br />
Philippe Pushmann d&rsquo;avanade a présenté pendant cette session un projet utilisant toute la puissance de TFS, allant des tests, à la génération de graphique très simplifiés pour les dirigeants, aidant le suivi et le pilotage du projet en passant bien sure par le gestionnaire de source et autre outils pour les chefs de projets. Belle session qui m&rsquo;a donné plus envie de travailler sur TFS &#8230; Vous trouverez plus d&rsquo;infos sur son blog ;-).</p>
<p>http://philippepuschmann.blogspot.com/</p>
<p><strong>ASP.NET 4.0</strong></p>
<p>Voici ma séance coup de cœur !<br />
Il est vrai que la sortie d&rsquo;RIA nous donne l&rsquo;impression qu&rsquo;ASP.NET fait presque office d&rsquo;ancêtre &#8230; Mais la réalité est tout autre car d&rsquo;un côté l&rsquo;utilisation des RIA reste marginale et de l&rsquo;autre le développement Web sur la plateforme .NET reste le monopole d&rsquo;ASP.NET et en ce temps une nouvelle version est en cours de préparation avec des nouveautés et des améliorations, qui feront peut être que la référence reste ASP.NET !<br />
Cette conférence a été présenté par Aurélien Verta MVP, qui a présenté entre autre &lsquo;Pure&rsquo; Ajax qui a l&rsquo;air plus que prometteur avec une amélioration des performances grâce à une gestion  plus intelligente des aller/retour notamment en transférant les données côté client (Json) et l&rsquo;absence d&rsquo;utilisation de JavaScript (faut le voir pour le croire <img src="https://blog.developpez.com/dotnetstation/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /> ). Mais aussi de l&rsquo;amélioration du Viewstate (Suppression ?) et l&rsquo;amélioration des ClientID (ctr_&#8230;) soit en fixant, soit en le générant qu&rsquo;au besoin. Et enfin JQuery qui sera lui  totalement intégré à VS2010 &#8230;</p>
<p>http://blogs.developpeur.org/aurelien/</p>
<p><strong>Optimiser vos sites ASP.NET</strong><br />
Après le coup de cœur voici le flop, la première session ASP.NET m&rsquo;a donnée envie de poursuivre, mais ce n&rsquo;était vraiment pas de la même trompe &#8230; Pas besoin de m&rsquo;éterniser ni m&rsquo;acharner.</p>
<p><strong>Entity Framework</strong><br />
Entity Framework ou Silverlight Avancées, choix difficile voir impossible lool, j&rsquo;ai fais au plus simple je suis resté dans le même Amphi que la session précédente où se dérouler Entity Framework.<br />
Matthieu MEZIL et Michel Perfetti nous ont présenté Entity Framework par la pratique, une présentation à l&rsquo;image de l&rsquo;article de Matthieu MEZIL sur le sujet, assez complète.</p>
<p>Encore une fois une journée marathon aux techdays, mais ça sera la seul pour moi cette année ! L&rsquo;absence de grande annonce dans ces techdays, n&rsquo;a pas diminué son intérêt car il y avait toujours autant de sujet intéressent, j&rsquo;attends donc avec impatience les podcasts de cette événement en espérant que cette fois j&rsquo;aurai le temps de les voire <img src="https://blog.developpez.com/dotnetstation/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bug AjaxToolkit &amp; IE 6 ?</title>
		<link>https://blog.developpez.com/dotnetstation/p5557/ma-recap-net/bug_ajaxtoolkit_aamp_ie_6</link>
		<comments>https://blog.developpez.com/dotnetstation/p5557/ma-recap-net/bug_ajaxtoolkit_aamp_ie_6#comments</comments>
		<pubDate>Fri, 25 Apr 2008 14:02:55 +0000</pubDate>
		<dc:creator><![CDATA[rad_hass]]></dc:creator>
				<category><![CDATA[Ma récap .NET]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[En utilisant AjaxToolkit dans mon application ASP.NET, j&#8217;ai remarqué un bug d&#8217;affichage avec IE6 (qui n&#8217;est pas présent par exemple avec Firefox) Voici un screenshot d&#8217;un site qui a le même bug d&#8217;affichage : Ce bug dans mon cas venez de l&#8217;utilisation de &#8216;ModalPopupExtender&#8217; et &#8216;UpdatePanel&#8217; dans la même page. Ca consistait en l&#8217;apparition en premier plan des DropDownListe qui devait être en arrière plan. Un bug que sur IE6 ? [Edit] Après test sur [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>En utilisant AjaxToolkit dans mon application ASP.NET, j&rsquo;ai remarqué un bug d&rsquo;affichage avec IE6 (qui n&rsquo;est pas présent par exemple avec Firefox)</p>
<p>Voici un screenshot d&rsquo;un site qui a le même bug d&rsquo;affichage :<br />
<span id="more-26"></span><br />
<img src="http://blog.developpez.com/media/Bug_05.jpg" width="700" height="500" alt="" /></p>
<p>Ce bug dans mon cas venez de l&rsquo;utilisation de &lsquo;ModalPopupExtender&rsquo; et &lsquo;UpdatePanel&rsquo; dans la même page. Ca consistait en l&rsquo;apparition en premier plan des DropDownListe qui devait être en arrière plan.</p>
<p>Un bug que sur IE6 ?</p>
<p>[Edit] Après test sur IE7 ce bug n&rsquo;est plus d&rsquo;actualité.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Localiser les valeurs d&#8217;une ressource (.resx)</title>
		<link>https://blog.developpez.com/dotnetstation/p5554/ma-recap-net/localiser_les_valeurs_d_une_ressource_re</link>
		<comments>https://blog.developpez.com/dotnetstation/p5554/ma-recap-net/localiser_les_valeurs_d_une_ressource_re#comments</comments>
		<pubDate>Thu, 24 Apr 2008 14:12:13 +0000</pubDate>
		<dc:creator><![CDATA[rad_hass]]></dc:creator>
				<category><![CDATA[Ma récap .NET]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Y a quelques temps j&#8217;ai cherché comment utiliser une ressource (.resx) par programme, j&#8217;en avais besoin pour utiliser des variables sur une page de manière dynamique (selon le clique de l&#8217;utilisateur). Et dans mon cas exploiter directement ma ressource n&#8217;avait pas de sens, mais une petite recherche m&#8217;a permis de trouver ces infos : Localiser les valeurs d’une ressource (.rex) par programme ? Deux manières de faire, GetLocalResourceObject ou GetGlobalResourceObject, selon qu’on utilise des fichiers [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Y a quelques temps j&rsquo;ai cherché comment utiliser une ressource (.resx) par programme, j&rsquo;en avais besoin pour utiliser des variables sur une page de manière dynamique (selon le clique de l&rsquo;utilisateur). Et dans mon cas exploiter directement ma ressource n&rsquo;avait pas de sens, mais une petite recherche m&rsquo;a permis de trouver ces infos :<br />
<span id="more-25"></span></p>
<blockquote><p><strong>Localiser les valeurs d’une ressource (.rex) par programme ?</strong></p>
<p>Deux manières de faire, GetLocalResourceObject ou GetGlobalResourceObject, selon qu’on utilise des fichiers de ressources Locaux ou Globaux. Par défaut les fichiers de ressources .resx sont stocké dans les dossiers App_LocalResources ou App_GlobalResources.<br />
Une page de ressource local correspond à une page ASP.NET et en général porte le même nom, par exemple, pour une page Accueil.aspx on aura un fichier de ressource nommé Accueil.aspx.resx.</p>
<p>Dans une ressource locale, pour récupérer un champ ressource Label.Text :</p>
<p><code class="codecolorer text default"><span class="text">GetLocalResourceObject(&quot;Label.Text&quot;)Dans une ressource globale (Resource.resx) pour récupérer un champ ressource Label.Text :</span></code></p>
<p><code class="codecolorer text default"><span class="text">GetGlobalResourceObject(&quot;Resource&quot;, &quot;label.Text&quot;)Sans oublié d'effectuer le cast approprié.</span></code></p></blockquote>
<blockquote><p><strong>Localiser les valeurs d’une ressource (.rex) par localisation implicite ?</strong></p>
<p>Pour récupérer la valeur d’un contrôle serveur stocké dans une ressource locale, ressource se trouvant dans le dossier App_LocalResources, avec un nom se basant sur le nom de la page (par exemple Accueil.aspx aura comme nom de ressource Accueil.aspx.resx). On utilise simplement le nom de la clé :</p>
<p><code class="codecolorer text default"><span class="text">&lt;asp:Label ID=&quot;Label1&quot; runat=&quot;server&quot; Text=&quot;DefaultText&quot; meta:resourcekey=&quot;Label1&quot; /&gt;</span></code></p></blockquote>
<blockquote><p><strong>Localiser les valeurs d’une ressource (.rex) par localisation explicite ?</strong><br />
De même que pour la localisation implicite sauf que la valeur de la clé est plus complexe car il faut préciser le nom de la ressource :</p>
<p><code class="codecolorer text default"><span class="text">&lt;asp:Label ID=&quot;Label1&quot; runat=&quot;server&quot; Text=Text=&quot;&lt;%$ Resources:WebResources, Button1Caption %&gt;&quot;/&gt;</span></code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
