WCF :
📚 Qu'est-ce que WCF ?
WCF signifie Windows Communication Foundation.
C’est un framework Microsoft pour construire des applications orientées services (SOA - Service-Oriented Architecture).
➡️ WCF permet à deux applications (ou plus) de communiquer entre elles à distance, peu importe leur environnement (Windows, Web, mobile…).
Résumé rapide :
WCF sert à créer des services web, des APIs, et des communications réseau sur différentes plateformes.
🔥 Pourquoi utiliser WCF ?
-
Communication distante facile (entre serveurs, entre clients et serveurs…)
-
Support multi-protocoles (HTTP, TCP, Named Pipes, MSMQ…)
-
Interopérabilité (fonctionne avec des clients non- .NET via SOAP par exemple)
-
Sécurité intégrée (authentification, cryptage)
-
Support transactions (ACID)
-
Extensible (on peut personnaliser l'authentification, le transport…)
🛠️ Comment fonctionne WCF ?
Un service WCF est basé sur 3 éléments principaux :
Élément | Définition | Exemple |
---|---|---|
Service Contract | Décrit ce que le service propose | Interface C# [ServiceContract] |
Endpoint | Décrit comment accéder au service | URL, Protocole, Binding |
Binding | Décrit comment communiquer (format, protocole) | HTTP, TCP, etc. |
➡️ Communication = [Service] + [Adresse] + [Binding]
🏗️ Exemple minimal d'un service WCF
1. Définir un contrat de service (interface)
using System.ServiceModel;
[ServiceContract]
public interface IMonService
{
[OperationContract]
string DireBonjour(string nom);
}
2. Implémenter ce service
public class MonService : IMonService
{
public string DireBonjour(string nom)
{
return $"Bonjour, {nom} !";
}
}
3. Héberger le service (dans une application console par exemple)
using System.ServiceModel;
class Program
{
static void Main(string[] args)
{
using (ServiceHost host = new ServiceHost(typeof(MonService)))
{
host.Open();
Console.WriteLine("Service WCF démarré...");
Console.ReadLine();
}
}
}
⚡ À ce moment, ton service WCF est disponible !
4. Exemple de configuration (app.config)
<configuration>
<system.serviceModel>
<services>
<service name="MonNamespace.MonService">
<endpoint address="" binding="basicHttpBinding" contract="MonNamespace.IMonService" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/MonService"/>
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
</configuration>
📦 Résumé visuel du fonctionnement
[Client] --appel--> [Endpoint WCF] --transmet--> [Service WCF]
🚀 En résumé
Détail | |
---|---|
WCF signifie | Windows Communication Foundation |
Utilité principale | Créer des services et faire communiquer des applications |
Types de communications | HTTP, TCP, MSMQ, etc. |
Fonctionne sur | .NET Framework principalement (et un peu sur .NET Core avec compatibilité limitée) |
Remplacé par | Dans les projets modernes : souvent remplacé par ASP.NET Core Web API |
📌 À noter
-
WCF est surtout utilisé dans les projets historiques (avant ASP.NET Core et REST API modernes).
-
Nouveau projet ? Aujourd'hui on préfère souvent ASP.NET Core Web API ou gRPC.
-
Projet existant ? Tu trouveras encore beaucoup de WCF en entreprise, surtout dans les secteurs bancaires, industriels, etc.
Aucun commentaire:
Enregistrer un commentaire