<?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>H2-Blog &#187; Csharp</title>
	<atom:link href="http://www.h2-blog.com/tag/csharp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.h2-blog.com</link>
	<description>Un blog mêlant actualités et divertissement</description>
	<lastBuildDate>Fri, 18 Dec 2020 10:52:49 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.2.2</generator>
	<item>
		<title>Appel d’un Webservice en .Net à l’aide de wsdl.exe</title>
		<link>http://www.h2-blog.com/2008/09/10/appel-d%e2%80%99un-webservice-en-net-a-l%e2%80%99aide-de-wsdlexe/</link>
		<comments>http://www.h2-blog.com/2008/09/10/appel-d%e2%80%99un-webservice-en-net-a-l%e2%80%99aide-de-wsdlexe/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 15:51:21 +0000</pubDate>
		<dc:creator><![CDATA[Guillaume R]]></dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Csharp]]></category>
		<category><![CDATA[Dotnet]]></category>
		<category><![CDATA[Net]]></category>
		<category><![CDATA[Programmation]]></category>

		<guid isPermaLink="false">http://www.h2-blog.com/?p=1254</guid>
		<description><![CDATA[<p>Dans la série des articles &#171;&#160;mémo perso&#160;&#187; (je vais finir par créer une catégorie), je vais vous expliquer comment créer une &#171;&#160;classe proxy&#160;&#187; en C# .Net qui vous permettra d’appeler un Webservice. Pour votre culture générale, sachez qu’un Webservice est un service (jusque là on s’en doutait) qui permet d’interroger à l’aide d’une simple connexion [&#8230;]</p><p>Cet article <a href="http://www.h2-blog.com/2008/09/10/appel-d%e2%80%99un-webservice-en-net-a-l%e2%80%99aide-de-wsdlexe/">Appel d’un Webservice en .Net à l’aide de wsdl.exe</a> provient du site <a href="http://www.h2-blog.com">H2-Blog</a>.</p>]]></description>
				<content:encoded><![CDATA[<p><img class="size-full wp-image-1262" style="float:left;margin-right: 10px" title="Logo Microsoft .Net" src="http://www.h2-blog.com/wp-content/uploads/2008/09/microsoft-dotnet.png" alt="Logo Microsoft .Net" width="250" height="147" />Dans la série des articles &laquo;&nbsp;mémo perso&nbsp;&raquo; (je vais finir par créer une catégorie), je vais vous expliquer comment créer une &laquo;&nbsp;classe proxy&nbsp;&raquo; en C# .Net qui vous permettra d’appeler un Webservice.</p>
<p>Pour votre culture générale, sachez qu’un Webservice est un service (jusque là on s’en doutait) qui permet d’interroger à l’aide d’une simple connexion http un programme (ok là je vulgarise volontairement) présent sur un serveur Web distant.<br />
Un exemple : imaginez que vous avez un Webservice présent sur votre serveur Web qui vous permet d’obtenir la liste des utilisateurs enregistrés, de valider leur inscription, de supprimer un utilisateur … Imaginez que ce Webservice soit programmé dans n’importe quel langage, vous allez pouvoir développer un programme (qui ne sera pas forcément écrit dans le même langage que le Webservice) qui interrogera à distance votre Webservice, depuis votre Smartphone par exemple.</p>
<p>Si vous n’êtes pas développeur, ça n’est pas la peine de continuer la lecture de cet article, vous allez perdre votre temps.</p>
<p>Rentrons dans le vif du sujet…</p>
<p><span id="more-1254"></span><em>Pré-requis 1 :</em> Vous savez ce qu’est un Webservice<br />
<em>Pré-requis 2 :</em> Vous devez développer un client pour ce Webservice en .Net<br />
<em>Pré-requis 3 :</em> Vous avez quelques connaissances sur le développement en C# .Net</p>
<p><strong>Mon problème :</strong></p>
<p>Pour coder en .Net j’utilise SharpDevelop (#develop), qui est un environnement développement open source très similaire à Visual Studio .Net, le problème c’est que je n’arrive pas à faire fonctionner le module d’appel aux Webservices et de création de la classe proxy …<br />
En plus je suis obligé de passer par un proxy et je n’ai pas trouvé où spécifier le serveur Proxy dans Sharpdevelop…</p>
<p>Bref, voici comment générer le fichier CS de la classe proxy en mode console.</p>
<p>Ouvrez une console (Démarrer/Executer/Cmd) :</p>
<p align="center"><img class="size-full wp-image-1256" title="appel-webservice-wsdl-exe-1" src="http://www.h2-blog.com/wp-content/uploads/2008/09/appel-webservice-wsdl-exe-1.jpg" alt="appel-webservice-wsdl-exe-1" /></p>
<p>Tapez cd &laquo;&nbsp;C:\Program Files\Microsoft.NET\SDK\v2.0\Bin&nbsp;&raquo;, et là magie nous allons utiliser l’utilitaire WSDL.exe (Web Services Description Language) inclus dans le SDK .Net.<br />
N’hésitez pas à faire un petit WSDL /? pour consulter l’aide et les options de WSDL :</p>
<p align="center"><img class="size-full wp-image-1257" title="appel-webservice-wsdl-exe-2" src="http://www.h2-blog.com/wp-content/uploads/2008/09/appel-webservice-wsdl-exe-2.jpg" alt="appel-webservice-wsdl-exe-2" /></p>
<p>Et voilà les paramètres que j’utilise pour créer ma classe proxy en passant par mon serveur proxy :</p>
<p>wsdl http://www.url-du-webservice.com/WebserviceTest.asmx?WSDL /language:csharp /out:ProxyWebserviceTest.cs /proxyusername:MonLoginWindows /proxypassword:MonPasswordWindows /proxydomain:MonDomaineWindows</p>
<p align="center"><img class="size-full wp-image-1258" title="appel-webservice-wsdl-exe-3" src="http://www.h2-blog.com/wp-content/uploads/2008/09/appel-webservice-wsdl-exe-3.jpg" alt="appel-webservice-wsdl-exe-3" /></p>
<p>Vous n’avez plus qu’à importer dans votre projet .Net le fichier qui vient d’être généré dans<br />
C:\Program Files\Microsoft.NET\SDK\v2.0\Bin (dans notre exemple ProxyWebserviceTest.cs).<br />
Pour cela, clic droit sur la solution / ajouter / fichier existant.</p>
<p>Il vous faut maintenant ajouter les références System.Web et System.Web.Services.<br />
Pour cela Clic droit sur Référence / Ajouter une référence :</p>
<p align="center"><img class="size-full wp-image-1259" title="appel-webservice-wsdl-exe-4" src="http://www.h2-blog.com/wp-content/uploads/2008/09/appel-webservice-wsdl-exe-4.jpg" alt="appel-webservice-wsdl-exe-4" /></p>
<p>Ajoutez les références System.Web et System.Web.Services :</p>
<p align="center"><img class="size-full wp-image-1260" title="appel-webservice-wsdl-exe-5" src="http://www.h2-blog.com/wp-content/uploads/2008/09/appel-webservice-wsdl-exe-5.jpg" alt="appel-webservice-wsdl-exe-5" /></p>
<p>Et pour finir voilà un exemple de bout de code permettant l’appel d’une webmethod de votre Webservice :</p>
<p>/*<br />
 * Created by SharpDevelop.<br />
 * User: tarlay<br />
 * Date: 10/09/2008<br />
 * Time: 16:02<br />
 */<br />
using System;<br />
using System.Collections.Generic;<br />
using System.Net;</p>
<p>namespace TestContactUsWebservice<br />
{<br />
	class MainClass<br />
	{<br />
		public static void Main(string[] args)<br />
		{<br />
			Console.WriteLine(&laquo;&nbsp;Test du webservice !&nbsp;&raquo;);<br />
			try{<br />
				//Initialisation de la classe proxy<br />
				ClasseProxyDeVotreWebService myWebServiceClasse = new ClasseProxyDeVotreWebService();</p>
<p>				//Utilisation de la classe WebProxy pour spécifier le proxy à utiliser pour la connexion au Webservice<br />
				WebProxy  myProxy = new WebProxy(&laquo;&nbsp;http://url-de-votre-proxy:8080&Prime;);<br />
				NetworkCredential giveCred = new NetworkCredential(&laquo;&nbsp;MonLoginWindows&nbsp;&raquo;,&nbsp;&raquo;MonPasswordWindows&nbsp;&raquo;,&nbsp;&raquo;MonDomaineWindows&nbsp;&raquo;);<br />
				myProxy.Credentials=giveCred;<br />
				myWebServiceClasse.Proxy = myProxy;</p>
<p>				//Appel de la webmethod<br />
				string ValueReturnByWebService = myWebServiceClasse.VotreWebMethode(&laquo;&nbsp;parmetres de la webmethod&nbsp;&raquo;);<br />
				Console.WriteLine(ValueReturnByWebService);</p>
<p>			}catch(Exception eMsg1){<br />
				Console.WriteLine(&laquo;&nbsp;Erreur lors de l&rsquo;appel au webservice ligne &laquo;&nbsp;+eMsg1.Source.ToString()+&nbsp;&raquo; : &laquo;&nbsp;+eMsg1.Message);<br />
			}<br />
		}<br />
	}<br />
}</p>
<p>Comme d’habitude, vos conseils/avis sur ce mémo perso sont les bienvenus <img src="http://s.w.org/images/core/emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Cet article <a href="http://www.h2-blog.com/2008/09/10/appel-d%e2%80%99un-webservice-en-net-a-l%e2%80%99aide-de-wsdlexe/">Appel d’un Webservice en .Net à l’aide de wsdl.exe</a> provient du site <a href="http://www.h2-blog.com">H2-Blog</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.h2-blog.com/2008/09/10/appel-d%e2%80%99un-webservice-en-net-a-l%e2%80%99aide-de-wsdlexe/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Exécuter une simple requête SELECT en C# .Net</title>
		<link>http://www.h2-blog.com/2008/07/31/executer-une-simple-requete-select-en-csharp-dotnet/</link>
		<comments>http://www.h2-blog.com/2008/07/31/executer-une-simple-requete-select-en-csharp-dotnet/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 12:43:38 +0000</pubDate>
		<dc:creator><![CDATA[Guillaume R]]></dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Csharp]]></category>
		<category><![CDATA[Dotnet]]></category>
		<category><![CDATA[Net]]></category>
		<category><![CDATA[Programmation]]></category>

		<guid isPermaLink="false">http://www.h2-blog.com/?p=808</guid>
		<description><![CDATA[<p>Pré-requis 1 : Avant tout je préfère le dire toute suite ce billet est une note personnel … Pré-requis 2 : Non développeur, n’allez pas plus loin 😉 Depuis hier j’ai une petite application Console en dotnet à développer et comme ça fait super longtemps que je n’ai pas fait de développement .Net je viens [&#8230;]</p><p>Cet article <a href="http://www.h2-blog.com/2008/07/31/executer-une-simple-requete-select-en-csharp-dotnet/">Exécuter une simple requête SELECT en C# .Net</a> provient du site <a href="http://www.h2-blog.com">H2-Blog</a>.</p>]]></description>
				<content:encoded><![CDATA[<p><img class="size-full wp-image-1262" style="float:left;margin-right: 10px" title="Logo Microsoft .Net" src="http://www.h2-blog.com/wp-content/uploads/2008/09/microsoft-dotnet.png" alt="Logo Microsoft .Net" width="250" height="147" /><em>Pré-requis 1 :</em> Avant tout je préfère le dire toute suite ce billet est une note personnel …<br />
<em>Pré-requis 2 :</em> Non développeur, n’allez pas plus loin <img src="http://s.w.org/images/core/emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br />
Depuis hier j’ai une petite application Console en dotnet à développer et comme ça fait super longtemps que je n’ai pas fait de développement .Net je viens de réaliser que j’avais presque tout oublié.<br />
<strong>Objet de ce billet :</strong> comment faire une simple requête SELECT sur une base de données SQL Serveur en C# .Net.</p>
<p><span id="more-808"></span>Il existe des milliards de techniques pour interroger une base de données en .Net avec ADO.Net le problème c’est que la majorité de ces techniques sont, je trouve, bien trop compliqués pour de simples applications.</p>
<p>Alors voilà un petit script tout simple permettant d’exécuter une requête SELECT sur une table :</p>
<p>using System;<br />
using System.Collections.Generic;<br />
using System.Data;<br />
using System.Data.SqlClient;</p>
<p>namespace RequeteSelectSimple<br />
{<br />
	class MainClass<br />
	{<br />
		static SqlConnection myConnection;<br />
		static SqlCommand myCommand;<br />
		static string myConnectionString;</p>
<p>		public static void Main(string[] args)<br />
		{<br />
			//Chaine de connexion permettant de se connecter la base :<br />
			myConnectionString = &laquo;&nbsp;user id=Login-Base-Donnees;password=PassWord-Base-De-Donne;initial catalog=Nom-De-La-Base;data source=Adresse-du-serveur-de-la-Base-de-Donnees;Connect Timeout=10&Prime;;<br />
			//Requête SQL :<br />
			string strRequete = &laquo;&nbsp;SELECT nom FROM tbl_contacts&nbsp;&raquo; ;<br />
			//variable locale qui permettra de récuppérer les valeurs de la table<br />
			string varNom;<br />
			//Utilisation du try .. catch permettant de fermer la connexion même en cas de plantage<br />
			try{<br />
				//Connexion à la base de donnée<br />
				myConnection = new SqlConnection(myConnectionString);<br />
				myConnection.Open();<br />
				//Execution de la requête<br />
				myCommand = new SqlCommand(strRequete,myConnection);<br />
				//Lecture des enregistrements à l&rsquo;aide d&rsquo;un SqlDataReader<br />
				SqlDataReader mySqDataReader = myCommand.ExecuteReader();<br />
				while (mySqDataReader.Read()){<br />
					//On teste que le résultat n&rsquo;est pas NULL afin d&rsquo;éviter un plantage on moment du cast<br />
					if(mySqDataReader[&laquo;&nbsp;nom&nbsp;&raquo;]!= System.DBNull.Value){<br />
						//récuppère le nom à l&rsquo;aide d&rsquo;un cast<br />
						varNom = (string)mySqDataReader[&laquo;&nbsp;nom&nbsp;&raquo;];<br />
					}else{<br />
						varNom = &laquo;&nbsp;&nbsp;&raquo;;<br />
					}<br />
					//On affiche le champ dans la console<br />
					Console.WriteLine(varNom);<br />
				}<br />
			}catch(Exception eMsg1){<br />
				//En cas d&rsquo;erreur on affiche le message d&rsquo;erreur<br />
				Console.WriteLine(&laquo;&nbsp;Erreur durant l&rsquo;execution de la requete : &laquo;&nbsp;+eMsg1.Message);<br />
			}finally{<br />
				//Quoiqu&rsquo;il arrive on ferme proprement la connexion à la base<br />
	            myConnection.Close();<br />
	        }<br />
		}<br />
	}<br />
}</p>
<p>Voilà fin de la note personnelle …<br />
Si dans 6 mois j’ai de nouveau de nouveau besoin d’exécuter une simple requête SELECT en Csharp dotnet je saurai où chercher <img src="http://s.w.org/images/core/emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Ah et j’oubliais : si certains codeurs passent par là, vos critiques constructives sur ce bout de code seront les bienvenues (<a href="http://blog.madd0.com/default.aspx" target="_blank">Mauricio</a> tu es là ? ;)) &#8230;</p>
<p>Cet article <a href="http://www.h2-blog.com/2008/07/31/executer-une-simple-requete-select-en-csharp-dotnet/">Exécuter une simple requête SELECT en C# .Net</a> provient du site <a href="http://www.h2-blog.com">H2-Blog</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.h2-blog.com/2008/07/31/executer-une-simple-requete-select-en-csharp-dotnet/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
