jeudi, mai 19 2011

Utilisation de Linq to XML pour ajouter un header en WCF

Il est parfois indispensable de rajouter via des MessageInterceptor des informations dans le header en WCF. Cependant, il est parfois compliqué de créer un XML "propre". Linq to XML est la pour nous aider... Ce post explique comment ajouter dans le header l'élément lié à la sécurité WSSE UserNameToken.

Lire la suite...

lundi, mai 16 2011

Récupération des HEADER Html dans une request REST/WCF

Ce petit post pour expliquer comment récupérer le UserAgent ou le host dans un behavior WCF lorsque l'on utilise en mode REST. Les headers du Message ne sont pas  les headers http envoyés par le client.

Lire la suite...

lundi, avril 18 2011

Extensibilité de WCF (3/3)

1) Introduction

Après ces deux articles de base sur l'authentification UserName/Password et l'extensibilité de base via les interfaces WCF (IParameterInspector,...), nous allons aborder ici le changement de "policy" de base. Les classes que nous aborderont ici seront celles que bon nombre de personnes utiliseront/modifieront lorsqu'ils souhaiteront ajuster la sécurité de leur applications.

Lire la suite...

vendredi, avril 15 2011

Extensibilité de WCF (2/3)

1) Introduction

Nous allons continuer dans l'exploration des fonctionnalités "peu" connues à mes yeux de WCF. Nous avons déjà vu dans le précédent post comment gérer une notion de cache lors des appels client ou serveur, comment alterer les inputs/outputs des appels dans le service,etc...(cfr ce lien). Nous allons voir ici comment mettre en place une sécurité basique login/password dans un contexte sécurisé HTTPS.

Lire la suite...

samedi, mars 26 2011

Extensibilité de WCF (1/3)

Une des forces de WCF est sa souplesse. Il est possible d'ajouter/supprimer/modifier des modules en quelques minutes. Ce sujet est abordé dans 3 de mes prochains articles. J'expliquerai comment vérifier les paramètres d'entrée, comment mettre en place un "traitement" spécial lors de l'invoke d'une méthode dans le service WCF et enfin comment ajouter ou modifier la sécurité dans WCF sans passer par une sécurité Transport (et donc par exemple par de l'https ...). Mais aujourd'hui, je parle de la validation de paramètres d'entrées ou encore les potentiels traitements spéciaux à effectuer lors de l'appel d'une méthode d'un service.

Lire la suite...

jeudi, février 17 2011

Hébergement d'un service WCF sans fichier .svc dans IIS et adaptation des options de binding

Une des nouveautés de WCF 4.0 est le "no config" dans les fichiers app.config et web.config. Mais peu de personnes semblent au courant de cette nouveauté. Ce post est donc la pour expliquer comment réaliser des services hébergés sous IIS ou WAS sans svc et avec un minimum de configuration.

Lire la suite...

dimanche, juin 8 2008

WCF et le support des transactions distribuées

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 ...

Lire la suite...

mardi, mars 18 2008

RSS/Atom sous .Net 3.5

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.

Lire la suite...

lundi, mars 17 2008

L'attribut ServiceKnowType

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.

samedi, mars 1 2008

RESTful en WCF (couplé avec du LINQ over SQL)

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
La thèse de Roy Fielding précise les avantages de ce style d'architecture // à SOAP etc.
  1. Maintenance plus simple.
  2. Absence d'état => consommation de mémoire inférieure.
  3. Simplicité dans un environnement Webfarm => meilleure tolérance aux pannes.
  4. Intéropérabilité
  5. ...

Lire la suite...

mardi, octobre 23 2007

Callback WCF: Comment simuler la notion d'event via un webservice

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.

Lire la suite...

lundi, avril 23 2007

WCF ... Generate proxy classes with generics

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 !
Page top