Formation C# perfectionnement et optimisation


  • ASPECTS AVANCÉS, MULTITHREADING, WPF, USERS CONTROLS, LINQ, WEB SERVICE, WCT, ...
REFERENCE
 
 
SLCA
DUREE
 
 
4 jours
TARIFS
 
 
2265 € HT
Niveau : Expert
Certification: Microsoft programmation en C#
Cours à distance: Possible
Eligible CPF: oui
OBJECTIFS :
 

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

Après une synthèse technique sur les possibilités et les performances des différentes technologies .NET, vous apprendrez à gérer de façon efficace vos applications sous forme de services (WebServices, WCF).
Ensuite vous prendrez la mesure des possibilités de LINQ et de sa philosophie originale pour gérer les données ainsi que celle du remplaçant des Windows Forms : WPF (effets graphiques, liens avec XAML, databinding, etc.).
Vous apprendrez aussi à développer vos propres services systèmes et à utiliser la technologie des sockets ainsi que les multithread. Pour finir, vous aborderez le développement et le déploiement de services Windows.

PRÉ-REQUIS :
 

Bonne connaissance d'au moins un langage .NET (C# ou VB.NET). Avoir suivi la formation Le langage C# (SLCN) est une bonne base pour suivre ce cours avancé.

PUBLIC :
 

Ce cours C# avancé s'adresse aux développeurs expérimentés d'applications d'entreprises ainsi qu'aux chefs de projets.

PROGRAMME :
 

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 .NET
Comparaisons de C# avec d'autres langages (Java, C++...)
Les options de compilations de CSC (CSC, Roslyn)
Créer une bibliothèque réutilisable (dll)
Rappels sur le C# (Types et méthodes anonymes, Délégués, Prédicats, Expression lambda, Méthode d’extension…)

Performances et mémoire (code non managé) - 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 (OnStart, OnStop, OnPause, OnRestart)
Création d'un service avec Visual Studio (template Windows Service)
Paramétrage du service (CanStop, CanShutdown...)
Déploiement d'un service Windows
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

Présentation de la programmation parallèle
Architecture d'un programme multi-threads
Méthodes de gestion des threads
Fonctionnement « normal » d'un programme C#
Cycle de vie d'un thread
Les threads et les pools de threads
La Task Parallel Library
Paralléliser les boucles
Spécificités techniques de la programmation multi-threads (mémoire, verrou, synchronisation...)
Les outils dans Visual Studio

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

REMARQUES :
 

Ce cours vous prépare à passer la certification Microsoft "Programmation en C#" (examen 70-483).
L'examen 70-483 est l'un des trois examens à passer pour obtenir la certification "MCSD : Plateforme Windows universelle".  Les deux autres 70-354 et 70-355 ne sont pas encore disponibles pour le moment, ils le seront courant 2017.

TRAVAUX PRATIQUES :
 

Remarque : l'ensemble des travaux pratiques est réalisable à distance si vous optez pour la formule cours à distance.

Vous participez alors en temps réel à la même session en même temps que les autres participants présents en salle de cours. Un kit spécial formation à distance vous sera envoyé avec notamment le matériel (casque micro). Vous n’avez besoin que d’un navigateur et d’une connexion internet pour suivre dans les meilleures conditions cette formation à distance C# avancé. Contactez-nous pour plus d’informations sur cette formation C# avancé à distance de chez vous ou depuis votre bureau. Attention sur cette formation toutes les sessions ne sont pas réalisables en formule cours à distance.

S'INSCRIRE À CETTE
FORMATION C# AVANCÉ
Cliquez sur une date pour vous inscrire
Information pratiques sur
LA FORMATION
Lieu de la formation Paris - LA DEFENSE
Nous contacter 01 43 34 90 94
CETTE FORMATION SUR-MESURE Ce cours est réalisable en intra-entreprise, dans vos locaux ou nos salles de cours CONTACTER NOTRE SERVICE INTRA
D'autres formations
SUR LE MÊME THÈME

5 j

 
Le langage C# est le langage objet phare de Microsoft. Il permet de développer tout type d'application (client lourd, web, web service, ...). Le langage C# est très lié...

5 j

 
Cette formation Visual Basic .Net vous permettra de maîtriser les fondamentaux du langage Visual Basic .Net et de l'environnement de programmation Visual Studio 2010 à 2015. Au...

4 j

 
Cette formation est délivrée dans les conditions définies par Microsoft : en partenariat avec un centre de formation agréé Microsoft Learning, formateur...

5 j

 
Cette formation est délivrée dans les conditions définies par Microsoft : en partenariat avec un centre de formation agréé Microsoft Learning, formateur...
Plus de formations sur le même thème

Des questions ?

ON VOUS RAPPELLE

 

0

Formations
Informatique
et Management
en ligne à ce jour

+ 0

Stagiaires dans nos
salles de cours sur
l'année

0%

De participants
satisfaits ou très
satisfaits de nos
formations

0

Formateurs experts
validés PLB