{Silverlight] Comment définir après déploiement l’adresse d’un endpoint WCF?

Par défaut

Le Silverlight, c’est une technologie vraiment cool, on peut faire à peu près ce qu’on veut mais parfois on se casse la tête sur des petites choses… Par exemple, comment faire pour modifier l’adresse d’un endpoint WCF? Car oui, ces informations sont inclues à la compilation dans le fichier XAP qui regroupe toute l’application Silverlight.

On a beau chercher, il n’y a plus de fichier de configuration de disponible pour modifier les adresses ip du/des serveur(s) WCF. C’est largement ennuyeux lorsque l’on doit débugger ou switcher à la demande l’adresse du service.

Pour résoudre ce problème, il suffit de regarder du coté du projet web qui héberge l’application Silverlight et plus particulièrement dans la balise object de la page ASPX. Il existe de nombreux paramètres que l’on peut transférer à l’application Silverlight dont la InitParams:

<param name= »InitParams » value= »url=http://localhost:12345/ » />

Je n’ai plus qu’à récupérer ce InitParams dans mon application Silverlight. Ce que je fais dans l’Application Startup:

private void Application_Startup(object sender, StartupEventArgs e)
{
  foreach (var item in e.InitParams)
  {
    switch (item.Key)
    {
       case "url":
         Singleton.Instance.URLParam = item.Value;
         break;
       default:
         break;
    }
  }
  this.RootVisual = new MainPage();
}

Ci-dessus, je place dans un singleton la chaine de l’URL passée via les initParams.  Il ne reste plus qu’à initialiser à la création d’un context WCF un endpoint avec la nouvelle adresse!

  public static MonServiceClient getService()
  {
     Uri uriSIC = new Uri(Singleton.Instance.URLParam + "Service_Exemple.svc?wsdl");
     var adrSIC = new EndpointAddress(uriSIC);
     var _SIC = new MonServiceClient("BindingExemple", adrSIC);
     return _SIC;
  }

Et voilà, il ne me reste plus qu’à utiliser cette instance de MonServiceClient afin d’accéder au WCF avec la bonne adresse!

Bewise Day Conference 2011 – Faites vos jeux!

Par défaut

Ça fait maintenant 5 ans que je travaille dans le milieu .NET, cette technologie de Microsoft a bien évolué depuis ses balbutiement il y a une dizaine d’année. Sur Toulouse, le leader dans ce domaine, c’est bien entendu Bewise, le rassembleur de talents de la région.

Et comme tous les ans depuis 6 ans (à vérifier), ils proposent les BDC, les Bewise Developpeur Conference. THE PLACE TO BE quand on aime les technologies Microsoft.

Cette année la conférence se plaçait sous le signe du jeu et du casino. Un lieu à forte signification : avant c’était le Stade, pas n’importe quel Stade, le Temple du Rugby Toulousain, l’endroit où des valeurs nobles se retrouvent. Le casino, dans un sens c’est plus chic mais la connotation est toute autre… Argent et jeu… Finalement ça correspond bien : nous ne sommes finalement que des grands enfants qui vendent chers nos services

Nous avons retrouvé cette année les stands habituels qui mettent en avant les différentes prestation que peuvent mettre en place Bewise. Cette année, je me suis plus particulièrement intéressé à la gestion de projet en assistant au présentations sur le Team Foundation Server et les techniques d’intégrations continues.

Je sens que je vais mettre ca en application dans les semaines qui viennent sur mes projets, ce sont mes petits travailleurs qui vont pas apprécier 🙂

Concernant le reste de la présentation, le XAML et le Silverlight me plaisent toujours autant… normal quand on connaît ma passion pour ces technologies, si je devais développer actuellement une application, ca sera obligatoirement dans ces langages là – mais on en reparlera en temps voulu !

La plénière comme chaque année met en avant de nouvelles technologies Microsoft, cette année le focus a été mis sur Microsoft Azure, la solution Cloud de Microsoft… Je suis plutôt dubitatif à propos de ce service et surtout vis à vis du public visé, en effet de nombreuses personnes présentent aux BDC font partis d’une entreprise qui vend la prestation d’hébergement de site / application et croyez moi, c’est pas donné comme service !

Que dire de plus ? Que finalement le HTML 5 c’est bien mais que c’est un peu Bisounours Land : tout est beau, tout est joli mais finalement, on ne peut pas vraiment se fixer sur la bête avant 2014 !!! Je me vois bien dire à mon client:
« Boby, on fait un site web, c’est super comme truc mais en fait en 2014, il faudra peut être le refaire… »

J’ai de nouveau vu le Windows Phone 7, rien à faire, je peux pas m’y mettre, je trouve l’interface vraiment ragoutante, je suis un fan boy Apple et je l’assume 🙂

Ce que je retiendrai de cette session:

  1. L’intégration en continue sur le TFS est indispensable
  2. Même les meilleurs peuvent avoir un IIS qui merde, hein Viko :p
  3. L’HTML 5, c’est bien mais pas suffisant

Bref encore un grand merci à l’équipe de Bewise pour leur accueil et à l’année prochaine !