<?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>Blog de Simon MARTINEZ &#187; Dotnet</title>
	<atom:link href="http://www.godsavethegeek.com/category/dotnet/feed" rel="self" type="application/rss+xml" />
	<link>http://www.godsavethegeek.com</link>
	<description>ASP.NET SHAREPOINT Ruby On Rails PHP</description>
	<lastBuildDate>Tue, 07 Feb 2012 13:21:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>internals members avec l&#8217;attribut &#171;&#160;InternalsVisibleTo&#160;&#187;</title>
		<link>http://www.godsavethegeek.com/dotnet/internals-members-avec-lattribut-internalsvisibleto</link>
		<comments>http://www.godsavethegeek.com/dotnet/internals-members-avec-lattribut-internalsvisibleto#comments</comments>
		<pubDate>Wed, 31 Aug 2011 08:34:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Dotnet]]></category>

		<guid isPermaLink="false">http://www.godsavethegeek.com/?p=122</guid>
		<description><![CDATA[L&#8217;attribut InternalsVisibleTo dans l&#8217;assemblyInfo
http://vkreynin.wordpress.com/2007/12/09/testing-internals-members-with-internalsvisibleto-attribute/
internals members avec l&#8217;attribut &#171;&#160;InternalsVisibleTo&#160;&#187; a &#233;t&#038;eacute post&#233; par Simon MARTINEZ sur Programmer et penser Web 2.0
<p><a href="http://www.godsavethegeek.com/dotnet/internals-members-avec-lattribut-internalsvisibleto">internals members avec l&#8217;attribut &laquo;&nbsp;InternalsVisibleTo&nbsp;&raquo;</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></description>
			<content:encoded><![CDATA[<p>L&#8217;attribut InternalsVisibleTo dans l&#8217;assemblyInfo</p>
<p><a href="http://vkreynin.wordpress.com/2007/12/09/testing-internals-members-with-internalsvisibleto-attribute/">http://vkreynin.wordpress.com/2007/12/09/testing-internals-members-with-internalsvisibleto-attribute/</a></p>
<p><a href="http://www.godsavethegeek.com/dotnet/internals-members-avec-lattribut-internalsvisibleto">internals members avec l&#8217;attribut &laquo;&nbsp;InternalsVisibleTo&nbsp;&raquo;</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.godsavethegeek.com/dotnet/internals-members-avec-lattribut-internalsvisibleto/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plafonnage Math.Ceiling Troncature Supérieur</title>
		<link>http://www.godsavethegeek.com/dotnet/plafonnage-math-ceiling-troncature-superieur</link>
		<comments>http://www.godsavethegeek.com/dotnet/plafonnage-math-ceiling-troncature-superieur#comments</comments>
		<pubDate>Fri, 05 Aug 2011 08:17:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Dotnet]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[maths]]></category>

		<guid isPermaLink="false">http://www.godsavethegeek.com/?p=119</guid>
		<description><![CDATA[Lorsque vous souhaitez faire de la pagination, vous avez besoin de connaitre le nombre de pages.
Certains diviseront le nombre d&#8217;élements par le nombre d&#8217;éléments par page, puis ajouteront 1 si il y a des restes (via le modulo par exemple).
Mais peu connaissent le Plafonnage, qui permet de faire une sorte de &#171;&#160;Troncature Supérieur&#160;&#187; : Math.Ceiling
Ainsi [...]<p><a href="http://www.godsavethegeek.com/dotnet/plafonnage-math-ceiling-troncature-superieur">Plafonnage Math.Ceiling Troncature Supérieur</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Lorsque vous souhaitez faire de la pagination, vous avez besoin de connaitre le nombre de pages.<br />
Certains diviseront le nombre d&#8217;élements par le nombre d&#8217;éléments par page, puis ajouteront 1 si il y a des restes (via le modulo par exemple).<br />
Mais peu connaissent le Plafonnage, qui permet de faire une sorte de &laquo;&nbsp;Troncature Supérieur&nbsp;&raquo; : Math.Ceiling</p>
<p>Ainsi 2.1, 2.5, 2.9 ou 3.0 feront 3</p>
<p><a href="http://www.godsavethegeek.com/dotnet/plafonnage-math-ceiling-troncature-superieur">Plafonnage Math.Ceiling Troncature Supérieur</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.godsavethegeek.com/dotnet/plafonnage-math-ceiling-troncature-superieur/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mettre des zéros devant un nombre</title>
		<link>http://www.godsavethegeek.com/dotnet/mettre-des-zeros-devant-un-nombre</link>
		<comments>http://www.godsavethegeek.com/dotnet/mettre-des-zeros-devant-un-nombre#comments</comments>
		<pubDate>Wed, 06 Jul 2011 15:18:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Dotnet]]></category>

		<guid isPermaLink="false">http://www.godsavethegeek.com/?p=111</guid>
		<description><![CDATA[

int test = 99;
test.ToString().PadLeft(4, '0');
//===&#62;'0099'
test.ToString(&#34;D4&#34;);
//===&#62;'0099'

Tous les formats dispo : http://msdn.microsoft.com/fr-fr/library/8wch342y.aspx
Mettre des zéros devant un nombre a &#233;t&#038;eacute post&#233; par Simon MARTINEZ sur Programmer et penser Web 2.0
<p><a href="http://www.godsavethegeek.com/dotnet/mettre-des-zeros-devant-un-nombre">Mettre des zéros devant un nombre</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></description>
			<content:encoded><![CDATA[<pre class="brush: csharp; title: ;">

int test = 99;
test.ToString().PadLeft(4, '0');
//===&gt;'0099'
test.ToString(&quot;D4&quot;);
//===&gt;'0099'
</pre>
<p>Tous les formats dispo : <a href="http://msdn.microsoft.com/fr-fr/library/8wch342y.aspx">http://msdn.microsoft.com/fr-fr/library/8wch342y.aspx</a></p>
<p><a href="http://www.godsavethegeek.com/dotnet/mettre-des-zeros-devant-un-nombre">Mettre des zéros devant un nombre</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.godsavethegeek.com/dotnet/mettre-des-zeros-devant-un-nombre/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IHttpModule &#8211; Requête à chaque page</title>
		<link>http://www.godsavethegeek.com/dotnet/ihttpmodule</link>
		<comments>http://www.godsavethegeek.com/dotnet/ihttpmodule#comments</comments>
		<pubDate>Tue, 28 Jun 2011 22:45:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Dotnet]]></category>
		<category><![CDATA[c#]]></category>

		<guid isPermaLink="false">http://www.godsavethegeek.com/?p=107</guid>
		<description><![CDATA[J&#8217;ai eu besoin d&#8217;effectuer un traitement à chaque page lors d&#8217;un projet e-commerce.
J&#8217;allais comme à mon habitude, faire le traitement dans la masterpage quand on m&#8217;a donné cette astuce si pratique.
Créer une classe qui implémente IHttpModule

    public class NomDeLaClasse : IHttpModule
    {
        [...]<p><a href="http://www.godsavethegeek.com/dotnet/ihttpmodule">IHttpModule &#8211; Requête à chaque page</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai eu besoin d&#8217;effectuer un traitement à chaque page lors d&#8217;un projet e-commerce.<br />
J&#8217;allais comme à mon habitude, faire le traitement dans la masterpage quand on m&#8217;a donné cette astuce si pratique.</p>
<p>Créer une classe qui implémente IHttpModule</p>
<pre class="brush: csharp; title: ;">
    public class NomDeLaClasse : IHttpModule
    {
        public void Dispose()
        {
        }
        public void Init(HttpApplication context)
        {
            context.AcquireRequestState += new EventHandler(context_AcquireRequestState);
        }
        private void context_AcquireRequestState(object sender, EventArgs e)
        {
            //Notre Traitement
        }
    }
</pre>
<p>Ajouter un module dans le Web.Config dans &laquo;&nbsp;configuration&nbsp;&raquo;=>&nbsp;&raquo;system.webServer</p>
<pre class="brush: xml; title: ;">
&lt;configuration&gt;
    &lt;system.webServer&gt;
        &lt;modules runAllManagedModulesForAllRequests=&quot;true&quot;&gt;
          &lt;add type=&quot;NomDeLaSolution.NomDuProjet&quot; name=&quot;NomDeLaClasse&quot; /&gt;
        &lt;/modules&gt;
</pre>
<p>L&#8217;avantage d&#8217;utiliser IHttpModule c&#8217;est que le traitement est effectué à chaque requête Http donc même lors des appels AJAX, et pas la peine de copier coller le traitement sur toutes vos masterpages ^^.<br />
L&#8217;utiliser peut être très pratique pour gérer les autorisations, l&#8217;authentification et tout ça.<br />
Par exemple lors d&#8217;un développement d&#8217;application Facebook, on peut vérifier à chaque requête HTTP que notre cookie Facebook est toujours valide.</p>
<p><a href="http://www.godsavethegeek.com/dotnet/ihttpmodule">IHttpModule &#8211; Requête à chaque page</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.godsavethegeek.com/dotnet/ihttpmodule/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Random item in an array C#</title>
		<link>http://www.godsavethegeek.com/dotnet/random-item-array-c-sharp</link>
		<comments>http://www.godsavethegeek.com/dotnet/random-item-array-c-sharp#comments</comments>
		<pubDate>Tue, 28 Jun 2011 22:35:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Dotnet]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[linq]]></category>

		<guid isPermaLink="false">http://www.godsavethegeek.com/?p=105</guid>
		<description><![CDATA[
Random rdn = new Random();
var item = theArray.ToList().OrderBy(x =&#62; rdn.Next()).Take(1).FirstOrDefault();

Random item in an array C# a &#233;t&#038;eacute post&#233; par Simon MARTINEZ sur Programmer et penser Web 2.0
<p><a href="http://www.godsavethegeek.com/dotnet/random-item-array-c-sharp">Random item in an array C#</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></description>
			<content:encoded><![CDATA[<pre class="brush: csharp; title: ;">
Random rdn = new Random();
var item = theArray.ToList().OrderBy(x =&gt; rdn.Next()).Take(1).FirstOrDefault();
</pre>
<p><a href="http://www.godsavethegeek.com/dotnet/random-item-array-c-sharp">Random item in an array C#</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.godsavethegeek.com/dotnet/random-item-array-c-sharp/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Supprimer ou Cacher la colonne &#8216;title&#8217; des listes Sharepoint</title>
		<link>http://www.godsavethegeek.com/dotnet/supprimer-ou-cacher-la-colonne-title-des-listes-sharepoint</link>
		<comments>http://www.godsavethegeek.com/dotnet/supprimer-ou-cacher-la-colonne-title-des-listes-sharepoint#comments</comments>
		<pubDate>Tue, 01 Feb 2011 13:39:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Dotnet]]></category>
		<category><![CDATA[Sharepoint]]></category>

		<guid isPermaLink="false">http://www.godsavethegeek.com/?p=98</guid>
		<description><![CDATA[Lorsque l&#8217;on crée une liste sur Sharepoint 2010, notre liste possède une colonne &#8216;Title&#8217; que l&#8217;on ne peut pas supprimer.
Cette colonne est là pour rester, et on ne peut pas la supprimer.
Mais heureusement pour nous, on peut la cacher et rendre cette colonne facultative.
Pour se faire :
* Rendre facultatif &#8216;List&#8217;
- Lorsqu&#8217;on est dans notre liste, [...]<p><a href="http://www.godsavethegeek.com/dotnet/supprimer-ou-cacher-la-colonne-title-des-listes-sharepoint">Supprimer ou Cacher la colonne &#8216;title&#8217; des listes Sharepoint</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Lorsque l&#8217;on crée une liste sur Sharepoint 2010, notre liste possède une colonne &#8216;Title&#8217; que l&#8217;on ne peut pas supprimer.<br />
Cette colonne est là pour rester, et on ne peut pas la supprimer.<br />
Mais heureusement pour nous, on peut la cacher et rendre cette colonne facultative.</p>
<p>Pour se faire :</p>
<p>* Rendre facultatif &#8216;List&#8217;<br />
- Lorsqu&#8217;on est dans notre liste, on clique sur le ribbon &laquo;&nbsp;List Tools/List&nbsp;&raquo;<br />
- Le ribbon se met à jour, et on clique sur &laquo;&nbsp;Settings/List Settings&nbsp;&raquo;<br />
- On selectionne &#8216;Title&#8217; dans notre liste de colonnes<br />
- On mets l&#8217;option &laquo;&nbsp;    Require that this column contains information: &nbsp;&raquo; à &laquo;&nbsp;No&nbsp;&raquo;</p>
<p>* Caché &#8216;List&#8217;<br />
- On retourne dans les settings de notre liste<br />
- On arrive sur une nouvelle page, et on clique sur le lien &laquo;&nbsp;Advanced settings&nbsp;&raquo; qui se trouve en dessous de la colonne &laquo;&nbsp;General Settings&nbsp;&raquo;<br />
- On autorise la gestion des types de contenu &nbsp;&raquo;<br />
Allow management of content types? &nbsp;&raquo; puis on clique sur le bouton &laquo;&nbsp;OK&nbsp;&raquo;<br />
- On retourne à la page précèdente, et on va cliquer sur le lien &laquo;&nbsp;Item&nbsp;&raquo; qui se trouve en dessous du sous titre &laquo;&nbsp;Content Types&nbsp;&raquo;<br />
- On clique sur le lien &laquo;&nbsp;Title&nbsp;&raquo; qui ce trouve dans la liste des colonnes &laquo;&nbsp;Columns&nbsp;&raquo;<br />
- On met l&#8217;option &laquo;&nbsp;Column Settings&nbsp;&raquo; à &laquo;&nbsp;Hidden (Will not appear in forms)&nbsp;&raquo;</p>
<p><a href="http://www.godsavethegeek.com/dotnet/supprimer-ou-cacher-la-colonne-title-des-listes-sharepoint">Supprimer ou Cacher la colonne &#8216;title&#8217; des listes Sharepoint</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.godsavethegeek.com/dotnet/supprimer-ou-cacher-la-colonne-title-des-listes-sharepoint/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Appeler un service WCF via JQuery Ajax</title>
		<link>http://www.godsavethegeek.com/dotnet/appeler-un-service-wcf-via-jquery-ajax</link>
		<comments>http://www.godsavethegeek.com/dotnet/appeler-un-service-wcf-via-jquery-ajax#comments</comments>
		<pubDate>Wed, 05 Jan 2011 12:34:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Dotnet]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://www.godsavethegeek.com/?p=84</guid>
		<description><![CDATA[Dans un premier temps, je vais créer un nouveau site web sur Visual Studio 2010.

où je vais ajouter un dossier &#171;&#160;Services&#160;&#187; auquel je vais ajouter un service WCF que je nomme ServiceWCF

3 fichiers ont été ajouté au projet et le web.config a été modifié.
Dans notre dossier Services, il y a le fichier ServiceWCF.svc. C&#8217;est ce [...]<p><a href="http://www.godsavethegeek.com/dotnet/appeler-un-service-wcf-via-jquery-ajax">Appeler un service WCF via JQuery Ajax</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Dans un premier temps, je vais créer un nouveau site web sur Visual Studio 2010.</p>
<p><a href="http://www.godsavethegeek.com/wp-content/uploads/2011/01/creer-site-asp-net.png"><img class="alignnone size-medium wp-image-88" title="creer-site-asp-net" src="http://www.godsavethegeek.com/wp-content/uploads/2011/01/creer-site-asp-net-300x206.png" alt="" width="300" height="206" /></a></p>
<p>où je vais ajouter un dossier &laquo;&nbsp;Services&nbsp;&raquo; auquel je vais ajouter un service WCF que je nomme ServiceWCF</p>
<p><a href="http://www.godsavethegeek.com/wp-content/uploads/2011/01/ajouter-service-wcf-au-projet.png"><img class="alignnone size-medium wp-image-89" title="ajouter-service-wcf-au-projet" src="http://www.godsavethegeek.com/wp-content/uploads/2011/01/ajouter-service-wcf-au-projet-300x206.png" alt="" width="300" height="206" /></a></p>
<p>3 fichiers ont été ajouté au projet et le web.config a été modifié.</p>
<p>Dans notre dossier Services, il y a le fichier ServiceWCF.svc. C&#8217;est ce fichier là que l&#8217;on va appeler depuis notre jquery.</p>
<p>Dans ce fichier, il n&#8217;y a qu&#8217;une ligne de code :</p>
<pre class="brush: csharp; title: ;">

&lt;%@ ServiceHost Language=&quot;C#&quot; Debug=&quot;true&quot; Service=&quot;ServiceWCF&quot; CodeBehind=&quot;~/App_Code/ServiceWCF.cs&quot; %&gt;
</pre>
<p>Cette ligne nous indique où se trouve le codeBehind, dans mon cas le code se trouve dans App_Code.<br />
Dans mon dossier App_Code, j&#8217;ai bien le fichier ServiceWCF.cs et son interface IServiceWCF.cs</p>
<p>Dans notre fichier web.confif voilà ce qui a été ajouté :<br />
<a href="http://www.godsavethegeek.com/wp-content/uploads/2011/01/web-conf-wcf.png"><img class="alignnone size-medium wp-image-92" title="web-conf-wcf" src="http://www.godsavethegeek.com/wp-content/uploads/2011/01/web-conf-wcf-300x136.png" alt="" width="300" height="136" /></a><br />
Je vais ajouter une méthode Hello, qui prend en paramètre un string et renvoie un string.</p>
<p>Mon interface</p>
<pre class="brush: csharp; title: ;">
using System.ServiceModel;

[ServiceContract]
public interface IServiceWCF
{
 [OperationContract]
 string hello(string prenom);
}
</pre>
<p>Le code behind de mon WCF</p>
<pre class="brush: csharp; title: ;">
public class ServiceWCF : IServiceWCF
{
 public string hello(string prenom)
 {
 if (!string.IsNullOrEmpty(prenom))
 {
 return &quot;Hello &quot; + prenom + &quot;!&quot;;
 }
 else
 {
 return &quot;error&quot;;
 }
 }
}
</pre>
<p>Dans mon code HTML, je vais ajouter ma librairie Jquery</p>
<pre class="brush: xml; title: ;">
&lt;script src=&quot;Scripts/jquery-1.4.1.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</pre>
<p>Puis faire un petit formulaire tout bête :<br />
- Une textbox pour écrire le prénom de notre choix<br />
- Un lien qui va permettre d&#8217;envoyer notre requête au service WCF</p>
<pre class="brush: xml; title: ;">
&lt;script type=&quot;text/javascript&quot;&gt;
 function callHello() {
 $.ajax({
 type: &quot;POST&quot;,
 url: &quot;Services/ServiceWCF.svc/hello&quot;,
 data: '{&quot;prenom&quot;:&quot;'+$(&quot;#prenom&quot;).val()+'&quot;}',
 contentType: &quot;application/json; charset=utf-8&quot;,
 dataType: &quot;json&quot;,
 processdata: true,
 success: function (msg) {
 ServiceSucceeded(msg);
 },
 error: ServiceFailed
 });
 }
 function ServiceSucceeded(rep) {
 if (rep.helloResult == &quot;error&quot;) {
 alert(&quot;prenom non renseigné&quot;);
 }
 else {
 alert(rep.helloResult);
 }
 }
 function ServiceFailed(rep) {
 alert(&quot;une erreur est intervenue&quot;);
 }
&lt;/script&gt;
Votre prénom : &lt;input type=&quot;text&quot; id=&quot;prenom&quot; name=&quot;prenom&quot;/&gt;
&lt;br /&gt;
Appeler notre service WCF en ajax :
&lt;a id=&quot;btTestWCF&quot; href=&quot;#&quot; onclick=&quot;callHello();return false;&quot;&gt; Lancer&lt;/a&gt;
</pre>
<p>Le plus important c&#8217;est de comprendre la méthode callHello<br />
On appelle la méthode ajax() de jquery à qui on passe en paramètre :<br />
- type =&gt; POST, GET etc&#8230;<br />
- url =&gt; path du webservice + &#8216;/&#8217; + la méthode que l&#8217;on appelle<br />
- contentType =&gt; le type contenu que l&#8217;on veut retrouver, soit du json dans notre cas. Ça peut être du XML si l&#8217;on préfère.<br />
- DataType =&gt; idem<br />
- processdata =&gt; une option à mettre à vrai ( voir http://api.jquery.com/jQuery.ajax/)<br />
- success : si on a bien appelé notre webservice, on fait appel à la méthode ServiceSucceeded<br />
- error : si il y a eu une erreur lors de l&#8217;appelle du webservice, on fait appel à la méthode ServiceFailed</p>
<p>Pour récupérer notre valeur, il suffit de récupérer la valeur retour du WCF et de rajouter &laquo;&nbsp;.&nbsp;&raquo;le_nom_de_la_method&nbsp;&raquo;Result&nbsp;&raquo;<br />
Soit .helloResult</p>
<p>Maintenant, vous pouvez tester :<br />
Et vous avez droit à un magnifique message d&#8217;erreur : <strong>415 Unsupported Media Type</p>
<p></strong>Car notre WebService n&#8217;a pas été configuré pour récupérer du POST, et être interrogé par http</p>
<p>Il faut modifier notre service, notre interface et notre Web.config :</p>
<p>On ajoute ceci au dessus de notre classe ServiceWCF.cs</p>
<pre class="brush: csharp; title: ;">
[WebService(Namespace = &quot;http://tempuri.org/&quot;)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
</pre>
<p>On ajoute ceci au dessus de notre methode hello de notre interface IServiceWCF.cs</p>
<pre class="brush: csharp; title: ;">&lt;/pre&gt;
[WebInvoke(Method = &quot;POST&quot;, BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
&lt;pre&gt;</pre>
<p>Et on modifie notre web.config pour qu&#8217;il ait cette allure là : </p>
<pre>
<pre class="brush: xml; title: ;">
&lt;system.serviceModel&gt;
 &lt;serviceHostingEnvironment multipleSiteBindingsEnabled=&quot;true&quot; /&gt;
 &lt;behaviors&gt;
 &lt;endpointBehaviors&gt;
 &lt;behavior name=&quot;ServiceBehaviors&quot;&gt;
 &lt;webHttp /&gt;
 &lt;/behavior&gt;
 &lt;/endpointBehaviors&gt;
 &lt;serviceBehaviors&gt;
 &lt;behavior name=&quot;ServiceBehaviors&quot;&gt;
 &lt;serviceMetadata httpGetEnabled=&quot;true&quot; /&gt;
 &lt;serviceDebug includeExceptionDetailInFaults=&quot;true&quot; /&gt;
 &lt;/behavior&gt;
 &lt;/serviceBehaviors&gt;
 &lt;/behaviors&gt;
 &lt;services&gt;
 &lt;service behaviorConfiguration=&quot;ServiceBehaviors&quot; name=&quot;ServiceWCF&quot;&gt;
 &lt;endpoint address=&quot;&quot; binding=&quot;webHttpBinding&quot; contract=&quot;IServiceWCF&quot; behaviorConfiguration=&quot;ServiceBehaviors&quot;/&gt;
 &lt;/service&gt;
 &lt;/services&gt;
 &lt;/system.serviceModel&gt;  

&lt;pre&gt;
&lt;pre&gt;</pre>
</pre>
</pre>
</pre>
</pre>
<p><a href="http://www.godsavethegeek.com/dotnet/appeler-un-service-wcf-via-jquery-ajax">Appeler un service WCF via JQuery Ajax</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.godsavethegeek.com/dotnet/appeler-un-service-wcf-via-jquery-ajax/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>isnumeric en c# .NET</title>
		<link>http://www.godsavethegeek.com/dotnet/isnumeric-en-csharp-dotnet</link>
		<comments>http://www.godsavethegeek.com/dotnet/isnumeric-en-csharp-dotnet#comments</comments>
		<pubDate>Sun, 16 May 2010 07:35:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Dotnet]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[regex]]></category>

		<guid isPermaLink="false">http://www.godsavethegeek.com/?p=64</guid>
		<description><![CDATA[3 façons propres de tester si une chaine de caractères est numérique :
1ère méthode
Int32.TryParse(VARIABLE_A_TESTER);
2ème méthode
Une petite regex pour les courageux :
Using System.Text.RegularExpressions
System.Text.RegularExpressions.Regex.IsMatch(VARIABLE_A_TESTER,@&#160;&#187;(^[-+]?\d+(,?\d*)*\.?\d*([Ee][-+]\d*)?$)&#124;(^[-+]?\d?(,?\d*)*\.\d+([Ee][-+]\d*)?$)&#160;&#187;);
3ème méthode
Dans la librairie Microsoft.VisualBasic.dll
Microsoft.VisualBasic.Information.IsNumeric(VARIABLE_A_TESTER);
Plus d&#8217;information sur http://msdn.microsoft.com/fr-fr/library/microsoft.visualbasic.information.isnumeric.aspx
isnumeric en c# .NET a &#233;t&#038;eacute post&#233; par Simon MARTINEZ sur Programmer et penser Web 2.0
<p><a href="http://www.godsavethegeek.com/dotnet/isnumeric-en-csharp-dotnet">isnumeric en c# .NET</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></description>
			<content:encoded><![CDATA[<p>3 façons propres de tester si une chaine de caractères est numérique :</p>
<h3>1ère méthode</h3>
<p>Int32.TryParse(VARIABLE_A_TESTER);</p>
<h3>2ème méthode</h3>
<p>Une petite regex pour les courageux :</p>
<p>Using System.Text.RegularExpressions</p>
<p>System.Text.RegularExpressions.Regex.IsMatch(VARIABLE_A_TESTER,@&nbsp;&raquo;(^[-+]?\d+(,?\d*)*\.?\d*([Ee][-+]\d*)?$)|(^[-+]?\d?(,?\d*)*\.\d+([Ee][-+]\d*)?$)&nbsp;&raquo;);</p>
<h3>3ème méthode</h3>
<p>Dans la librairie Microsoft.VisualBasic.dll</p>
<p>Microsoft.VisualBasic.Information.IsNumeric(VARIABLE_A_TESTER);</p>
<p>Plus d&#8217;information sur <a href="http://msdn.microsoft.com/fr-fr/library/microsoft.visualbasic.information.isnumeric.aspx">http://msdn.microsoft.com/fr-fr/library/microsoft.visualbasic.information.isnumeric.aspx</a></p>
<p><a href="http://www.godsavethegeek.com/dotnet/isnumeric-en-csharp-dotnet">isnumeric en c# .NET</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.godsavethegeek.com/dotnet/isnumeric-en-csharp-dotnet/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mettre des zéros devant un nombre en C#</title>
		<link>http://www.godsavethegeek.com/dotnet/zeros-devant-nombre-csharp</link>
		<comments>http://www.godsavethegeek.com/dotnet/zeros-devant-nombre-csharp#comments</comments>
		<pubDate>Sat, 15 May 2010 18:08:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Dotnet]]></category>
		<category><![CDATA[c#]]></category>

		<guid isPermaLink="false">http://www.godsavethegeek.com/?p=60</guid>
		<description><![CDATA[Comment mettre des zéros devant un nombre en C# ?
Il nous arrive souvent de vouloir normaliser un nombre, pour différentes raisons. Comme pour renommer des images (image-0001.jpg &#8230; image-0183.jpg etc&#8230;)
Je suis allergique aux boucles qui rendent le code sale, et c&#8217;est pire encore quand il y a des méthodes du framework DOTNET permettant de faire [...]<p><a href="http://www.godsavethegeek.com/dotnet/zeros-devant-nombre-csharp">Mettre des zéros devant un nombre en C#</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></description>
			<content:encoded><![CDATA[<p><strong>Comment mettre des zéros devant un nombre en C# ?</strong></p>
<p>Il nous arrive souvent de vouloir normaliser un nombre, pour différentes raisons. Comme pour renommer des images (image-0001.jpg &#8230; image-0183.jpg etc&#8230;)</p>
<p>Je suis allergique aux boucles qui rendent le code sale, et c&#8217;est pire encore quand il y a des méthodes du framework DOTNET permettant de faire la même chose en 1 ligne.</p>
<p><strong><span style="color: #0000ff;">int </span>longueurNombre = 10;<br />
<span style="color: #0000ff;">int </span></strong> <strong>nombre = 4221;<br />
<span style="color: #0000ff;">string </span></strong> <strong>jolieNombre = nombre.ToString().PadLeft(longueurNombre, &#8216;0&#8242;);</strong></p>
<p><span style="color: #666699;"><em>===&gt; jolieNombre = 0000004221</em></span><strong><br />
</strong></p>
<p>Voilà ma petite astuce, toujours en une ligne de code<strong>.</strong></p>
<p>Pour plus de détails sur padLeft, visitez <a href="http://msdn.microsoft.com/fr-fr/library/92h5dc07%28v=VS.80%29.aspx">http://msdn.microsoft.com/fr-fr/library/92h5dc07%28v=VS.80%29.aspx</a></p>
<p><a href="http://www.godsavethegeek.com/dotnet/zeros-devant-nombre-csharp">Mettre des zéros devant un nombre en C#</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.godsavethegeek.com/dotnet/zeros-devant-nombre-csharp/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Compter le nombre d&#8217;occurrence dans une chaine en C#</title>
		<link>http://www.godsavethegeek.com/dotnet/compter-le-nombre-doccurrence-dans-une-chaine-en-csharp</link>
		<comments>http://www.godsavethegeek.com/dotnet/compter-le-nombre-doccurrence-dans-une-chaine-en-csharp#comments</comments>
		<pubDate>Sat, 15 May 2010 17:30:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Dotnet]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[regex]]></category>

		<guid isPermaLink="false">http://www.godsavethegeek.com/?p=56</guid>
		<description><![CDATA[Compter le nombre d&#8217;occurrence dans une chaine en C#, en clair compter le nombre de fois qu&#8217;une chaine de caractère (string) est contenu dans une autre chaine de caractère.
int nbOccurrence = Regex.Matches(string_source, string_a_rechercher, RegexOptions.IgnoreCase).Count;
Plus besoin de faire des boucles, cette méthode est propre et en une seule ligne. Que demander de plus ?
Compter le nombre [...]<p><a href="http://www.godsavethegeek.com/dotnet/compter-le-nombre-doccurrence-dans-une-chaine-en-csharp">Compter le nombre d&#8217;occurrence dans une chaine en C#</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Compter le nombre d&#8217;occurrence dans une chaine en C#, en clair compter le nombre de fois qu&#8217;une chaine de caractère (string) est contenu dans une autre chaine de caractère.</p>
<p><strong><span style="color: #0000ff;">int </span>nbOccurrence = <span style="color: #008080;">Regex</span>.Matches(string_source, string_a_rechercher, <span style="color: #008080;">RegexOptions</span>.IgnoreCase).Count;</strong></p>
<p>Plus besoin de faire des boucles, cette méthode est propre et en une seule ligne. Que demander de plus ?</p>
<p><a href="http://www.godsavethegeek.com/dotnet/compter-le-nombre-doccurrence-dans-une-chaine-en-csharp">Compter le nombre d&#8217;occurrence dans une chaine en C#</a> a &eacute;t&eacute post&eacute; par <a href="http://www.simon-martinez.com/" title="Simon MARTINEZ">Simon MARTINEZ</a> sur <a href="http://www.godsavethegeek.com">Programmer et penser Web 2.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.godsavethegeek.com/dotnet/compter-le-nombre-doccurrence-dans-une-chaine-en-csharp/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

