dimanche, juin 8 2008
WCF et le support des transactions distribuées
Par titi le dimanche, juin 8 2008, 23:52
Ce petit post était prévu depuis quelques mois ... En effet, je devais mettre en place un service Web supportant WS-* (WS-Transaction, WS-Reliable) pour une assoc ... ;). Je me suis tourné vers .NET 3.5 et WCF ... Certes il est possible de jouer avec WSE et les asmx .net 2 pour arriver au même résultat mais au bout de combien d'heures ???? WCF a réellement apporté un gros plus avec sa simplicité d'implémentation. En quelques minutes j'avais mon webservice fonctionnel. Je vous présente ici un petit exemple que j'ai réalisé pour expliquer comment mettre en place un webservice comme ca ...
mardi, mars 18 2008
RSS/Atom sous .Net 3.5
Par titi le mardi, mars 18 2008, 22:01
En cette charmante petite soirée, j'ai pris la décision de terminer mon exemple expliquant une des nouveautés de .net 3.5 pour la partie WCF. Ainsi de nouvelles classes ont été ajoutées pour la gestion des flux RSS/Atom. De plus, avec le support RESTful sous WCF, il est maintenant possible de créer facilement le flux RSS. Ce post explique donc en quelques secondes comment créer un flux rss (sans création de pages ashx, etc) ou comment le lire.
lundi, mars 17 2008
L'attribut ServiceKnowType
Par titi le lundi, mars 17 2008, 22:01
En WCF, il arrive parfois que l'on publie un webservice avec une méthode utilisant une classe abstraite... Prenons par exemple une classe Animal abstraite et deux classes concrètes Chien et Chat ... Nous pouvons publier une méthode UpdateAnimal(Animal animal). Le problème est que lorsqu'on génère la classe proxy du côté client, on ne voit pas les classes Chien et Chat vu qu'elles ne sont pas directement utilisées dans les signatures ... Comment faire pour l'intégrer au WSDL et donc aux classes proxy ?
Avant:
La réponse se trouve dans le titre ... En effet cet attribut se place au dessus de la méthode ou de la classe .. et précise les classes qu'il faut également publier ... Il est possible d'ajouter un attribut par classe ou de regrouper ces types dans une méthode . A votre convenance 
Après:
Plus d'informations ici.
Avant:

Après:
Plus d'informations ici.
samedi, mars 1 2008
RESTful en WCF (couplé avec du LINQ over SQL)
Par titi le samedi, mars 1 2008, 22:22
RESTful est une manière de construire une application pour les systèmes distribués. Le terme a été inventé par un des papa (Roy Fielding) de la RFC HTTP... REST n'est pas un protocole ou un format. Il s'agit d'une architecture original du web. Elle se repose sur quelques principes.
- l'URI est important : connaître l'URI doit suffire pour accéder à la ressource
- HTTP fournit toutes les opérations nécessaires (GET, POST, PUT et DELETE)
- chaque opération est auto-suffisante : il n'y a pas d'état
- Support de la sécurité ASP.NET
- Maintenance plus simple.
- Absence d'état => consommation de mémoire inférieure.
- Simplicité dans un environnement Webfarm => meilleure tolérance aux pannes.
- Intéropérabilité
- ...
mardi, octobre 23 2007
Callback WCF: Comment simuler la notion d'event via un webservice
Par titi le mardi, octobre 23 2007, 07:53
Il est possible d'appeler du code "client" depuis un webservice .net 3.0 à la condition que le flux soit bidirectionnel. Cela ouvre en effet de multiples possibilités comme simuler une notion d'evenement ou ajouter des comportements differents en utilisant le même webservice. Voici un petit exemple de ce qu'il est possible de faire simplement.
lundi, avril 23 2007
WCF ... Generate proxy classes with generics
Par titi le lundi, avril 23 2007, 19:52
By default, the proxy generated from Visual Studio transform a List to an array ... If ... as me ... you use WCF only in .NET ... you can easily generate proxy class ... Open a command shell, and type :
svcutil.exe http://localhost:8000/Tests/Service?WSDL /out:c:\generatedFile.map /ct:System.Collections.Generic.IList`1 /ct:System.Collections.Generic.IDictionary`2
With this line ... you generate proxy classes with generics ...
Have fun !
svcutil.exe http://localhost:8000/Tests/Service?WSDL /out:c:\generatedFile.map /ct:System.Collections.Generic.IList`1 /ct:System.Collections.Generic.IDictionary`2
With this line ... you generate proxy classes with generics ...
Have fun !