samedi 1 avril 2023

WCF

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

WCF Lượt xem: