Formation C# avancé, perfectionnement Réf : SLCA

Par James Ravaille

Développements avancés, Multitreading, WPF, Users controls, LINQ, Web Service, WCT, ...

Durée :
4 jours
Lieux :
Paris

Partage :

  • Twitter
  • Facebook
  • E-mail
  • Linkedin
  • Viadeo

Soyez alertés par e-mail des nouvelles sessions : Poser une alerte,

Description

Cette formation « Langage C# avancé » vous permettra de maîtriser tous les concepts fondamentaux liés au développement des applications .NET (WPF, LINQ, Service Windows, Multithread) et à la communication (Socket, WCF, WebServices REST et SOAP).

Objectifs pédagogiques

A l’issue de cette formation C# avancé, les participants seront en mesure de :
  • Gérer de façon efficace ses applications sous forme de services (WebServices, WCF).
  • Connaitre les possibilités de LINQ et de sa philosophie originale pour gérer les données 
  • Connaitre les Windows Forms : WPF (effets graphiques, liens avec XAML, databinding, etc.).
  • Développer ses propres services systèmes
  • utiliser la technologie des sockets ainsi que les multithread.
  • Développer et déployer des services Windows.


Public

Développeurs, ingénieurs, architectes, chefs de projet.

Pré-requis

Bonnes connaissances du langage C#.

Type

Stage pratique

Méthode pédagogique

Alternance de cours magistraux (30%) et de travaux pratiques (70%). Un support de cours sera remis à chaque participant au format papier au début de la formation.

Plan de cours

Rappels et compléments sur le Framework .Net
Synthèse sur l'architecture du Framework .NET
La place de C# dans l'architecture globale de .NET
Les nouveautés du Framework
Comparaisons de C# avec d'autres langages (Java, C++, ...)
Les options de compilations de csc (C Sharp Compilator)
Créer une bibliothèque réutilisable (dll)

Performances et mémoire, Optimisation C#
Terminologies systèmes (Processus, Threads, Handles…)
Contexte d’exécution d’un processus (Jeton utilisateur, UAC, Virtualisation…)
Comprendre les couches basses de .NET (CLR, assembly, module...)
Gestion du tas et de la pile par .NET (Garbage collector)
Risque et intérêt d'utiliser du code « non managé »
Utilisation des pointeurs en C# (unsafe)
Exemples de code non managé

Travaux Pratiques
Faire appel à des composants non managés

Créer et déployer un service Windows
Différences entre un service Windows et une application
Présentation de la classe ServiceBase
Création d'un service avec Visual Studio
Paramétrage du service
Utilisation des threads dans la programmation de services
Déploiement d'un service Windows avec Visual Studio 2012
Vérification du fonctionnement du service dans le Panneau de configuration

Travaux Pratiques
Créer et déployer un service Windows
Observer le fonctionnement du service par le journal Windows


Multithreading sous .NET
Apports du mutli-threading aux applications .net
Architecture d'un programme multi-threads
Fonctionnement « normal » d'un programme C#
Cycle de vie d'un thread
Spécificités techniques de la programmation multi-threads
(mémoire, verrou, synchronisation, ...)

Travaux Pratiques
Mise en place de thread dans un service windows

Introduction à la communication sous .NET
Synthèse des différents types d'échanges
Technologies sous-jacentes dans .NET
Présentation des différentes API (Socket, Web services, WCF...)
Pourquoi utiliser les delegate dans la programmation réseau ?

Services Web ASP.NET (SOAP et REST)
Présentation des types de web services
Intégration de .NET dans le serveur Web IIS
Implémentation d’un WebService SOAP (.asmx)
Méthode SOAP et le WSDL
Implémentation d’un WebService REST (WebAPI)
Consommer un WebService REST (AJAX avec jQuery)

Travaux Pratiques
Mise en place de webservices ASP.Net pour partager des données avec ADO.NET
Mise en place de webservices REST pour partager des données avec Entity Framework


Programmation réseau avec les sockets
Rappels sur le vocabulaire réseau (@IP, n°port, TCP, UDP)
Quelles différences entre développer « par-dessus » TCP ou UDP ?
Qu'est-ce qu'un socket pour le développeur ?
Les méthodes de la classe Sockets (listen, bind, accept, send, receive...)
Envoi et réception de message (BeginReceive, BeginSend)
Exemple de code général côté serveur et côté client
Gestion du pool de connexion (multi clients)
Implémentation à l’aide de .NET Remoting

Travaux Pratiques
Création d'une application clients/serveur

WCF
Architecture orientée Services
Les contrats de service
Comprendre et utiliser les points de terminaison
Configuration et hébergement d'un service
Service bidirectionnel
Créer un service WCF sans serveur

Travaux Pratiques
Création d'un chat en WCF

WPF (Windows Presentation Foundation)
Présentation de WPF
Rappel sur Windows Forms
Implémentation de WPF
Scénario de migration et interopérabilité
Design et outils (Blend)
Implémentation Async/Await Contrôles de positionnement
Utilisation des contrôles utilisateurs
Présenter et interagir avec les données (Databinding)

Travaux Pratiques
Création d'un gestionnaire de contacts en WPF

Créer ses propres contrôles utilisateurs (User Controls)
Création d'un gestionnaire d'événements pour un contrôle
Les attributs d'un contrôle utilisateur (Category, Browsable, DefaultEvent...)
Utilisation des contrôles avec un formulaire Windows
Validation des entrées des utilisateurs
Gestion du glisser/déposer de nos propres contrôles
Créer des contrôles dynamiquement
Ajouter des fonctionnalités aux contrôles
Ajout de prise en charge Design-time pour les contrôles

Travaux Pratiques
Créer des contrôles WPF et les utiliser dans le gestionnaire de contacts

LINQ (Language Integrated Query)
Présentation de LINQ
Des requêtes/traitements au-delà des simples bases de données ...
Comment utiliser LINQ dans un programme C# ?
Manipuler des collections d'objets avec LINQ (LINQ to Object)
Gérer des documents XML avec LINQ (LINQ to XML)
Gérer le mapping entre les types C# et les enregistrements d'une base (LINQ to SQL)
Interroger les données d'un dataset (LINQ to Dataset)
Ecrire des requêtes sur un modèle conceptuel (LINQ to Entities)
LINQ et les performances

Travaux Pratiques
Mise en place des classes métier et d'une basse de données par LINQ to Entities
Manipulation (insertion, modification, selection) des données avec LINQ
Recherche dans un fichier XML à l’aide de LINQ to XML



Prochaines sessions

Pas de témoignage pour l'instant.

Cher(e) visiteur(euse),
Nous vous remercions pour l'intérêt porté à nos formations. La pré-inscription à une session de formation se fait via le formulaire d'inscription de la page formation.

La Convention de Formation Professionnelle Continue simplifiée vous sera envoyée par mail dans les 72H max. Votre inscription est considérée comme définitive, une fois cette convention signée par votre entreprise ou OPCA. La facture sera émise à l'issue de la formation, comme mentionnée dans nos conditions générales de vente.

A noter que les demandeurs d'emploi peuvent bénéficier d'une remise de 20% sur le prix public.

Pour toute information complémentaire ou demande de devis, n'hésitez pas à nous contacter au 01 53 34 66 10 ou à nous solliciter par mail.

A très bientôt dans l'un de nos centres de formation.
L'équipe Clever-Institut.

Les autres formations « Développement .NET »  – Voir toutes les formations