Académique Documents
Professionnel Documents
Culture Documents
optimisation et déploiement
d'une application Web
Microsoft ASP.NET
Table des matières
Vue d'ensemble 1
Leçon : Utilisation de l'objet Cache 2
Leçon : Utilisation du cache de sortie
d'ASP.NET 14
Leçon : Configuration d'une application
Web ASP.NET 24
Leçon : Déploiement d'une application
Web ASP.NET 42
Contrôle des acquis 50
Atelier 15 : Configuration, optimisation
et déploiement d'une application Web
Microsoft ASP.NET 52
Les informations contenues dans ce document, y compris les adresses URL et les références à des
sites Web Internet, pourront faire l'objet de modifications sans préavis. Sauf mention contraire, les
sociétés, les produits, les noms de domaine, les adresses de messagerie, les logos, les personnes,
les lieux et les événements utilisés dans les exemples sont fictifs et toute ressemblance avec des
sociétés, produits, noms de domaine, adresses de messagerie, logos, personnes, lieux et
événements existants ou ayant existé serait purement fortuite. L'utilisateur est tenu d'observer la
réglementation relative aux droits d'auteur applicable dans son pays. Sans limitation des droits
d'auteur, aucune partie de ce manuel ne peut être reproduite, stockée ou introduite dans un système
d'extraction, ou transmise à quelque fin ou par quelque moyen que ce soit (électronique,
mécanique, photocopie, enregistrement ou autre), sans la permission expresse et écrite de
Microsoft Corporation.
Les produits mentionnés dans ce document peuvent faire l'objet de brevets, de dépôts de brevets en
cours, de marques, de droits d'auteur ou d'autres droits de propriété intellectuelle et industrielle de
Microsoft. Sauf stipulation expresse contraire d'un contrat de licence écrit de Microsoft, la
fourniture de ce document n'a pas pour effet de vous concéder une licence sur ces brevets,
marques, droits d'auteur ou autres droits de propriété intellectuelle.
Microsoft, MS-DOS, Windows, Windows NT, Active Directory, ActiveX, BizTalk, Hotmail,
IntelliSense, Jscript, MSN, MSDN, PowerPoint, Visio, Visual Basic, Visual C++, Visual C#,
Visual J#, Visual Studio, Win32 et Windows Media sont soit des marques déposées de Microsoft
Corporation, soit des marques de Microsoft Corporation, aux États-Unis d'Amérique et/ou dans
d'autres pays.
Les autres noms de produit et de société mentionnés dans ce document sont des marques de leurs
propriétaires respectifs.
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 1
Vue d'ensemble
Introduction Une fois votre application Web Microsoft® ASP.NET développée, vous pouvez
la déployer sur un serveur de production. Avant le déploiement, vous pouvez
toutefois l'optimiser afin d'en améliorer les performances.
Pour optimiser et déployer votre application Web, vous pouvez effectuer les
opérations suivantes :
! configurer l'objet Cache et le cache de sortie pour optimiser les temps de
réponse de l'application Web ;
! organiser les paramètres de l'application dans les fichiers Machine.config et
Web.config pour prendre en charge et protéger le site Web ;
! sélectionner les fichiers nécessaires à l'exécution du site Web et les copier
sur le serveur de production.
Objectifs À la fin de ce module, vous serez à même d'effectuer les tâches suivantes :
! utiliser l'objet Cache pour stocker des informations ;
! utiliser la mise en cache de sortie d'ASP.NET pour stocker des pages Web et
des fragments de page Web ;
! configurer une application Web ASP.NET à l'aide des fichiers
Machine.config et Web.config ;
! déployer une application Web ASP.NET.
2 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
Introduction L'une des méthodes les plus efficaces pour améliorer les performances d'une
application Web ASP.NET consiste à utiliser l'objet Cache d'ASP.NET. Cet
objet vous permet de placer des éléments dans la mémoire du serveur pour les
extraire rapidement. Toutefois, le chargement d'un trop grand nombre
d'éléments dans l'objet Cache peut ralentir les temps de réponse du serveur en
réduisant sa quantité de mémoire disponible.
Dans cette leçon, vous étudierez la configuration de l'objet Cache pour
optimiser les temps de réponse d'une application Web.
Objectifs de la leçon À la fin de cette leçon, vous serez à même d'effectuer les tâches suivantes :
! décrire un objet Cache ;
! expliquer les avantages et les inconvénients liés à l'utilisation d'un objet
Cache ;
! utiliser un objet Cache pour stocker et extraire les éléments utilisés par une
application Web ;
! supprimer des éléments de l'objet Cache au bout d'un certain temps ou après
une modification des éléments, afin de limiter l'utilisation de la mémoire.
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 3
Cache["myKey"]
Cache["myKey"] == myValue;
myValue;
Introduction Lorsque vous créez des applications Web très performantes, vous devez éviter
toute duplication. Un objet Cache vous permet de mettre en cache (stocker) des
éléments en mémoire lorsqu'ils sont demandés pour la première fois, puis
d'utiliser la copie mise en cache pour les demandes ultérieures. L'utilisation de
la copie en cache vous évite de recréer des informations répondant à une
demande antérieure, plus particulièrement les informations qui nécessitent des
temps processeur importants sur le serveur à chaque création.
ASP.NET offre non seulement une mise en cache d'éléments individuels, tels
que des statistiques dans l'objet Cache, mais également un cache de sortie qui
peut être utilisé pour stocker des pages Web et des contrôles utilisateur. L'objet
Cache et le cache de sortie sont des objets distincts avec des rôles et des
propriétés uniques.
Objet utilisé pour ASP.NET contient un moteur de cache complet qui peut être utilisé pour
stocker des stocker et extraire des informations. L'objet Cache ne dispose d'aucune
informations information sur le contenu des éléments qu'il contient. Il ne possède qu'une
référence à ces objets et offre un processus pour le suivi de leurs dépendances et
la définition des stratégies d'expiration.
L'objet Cache permet également de passer des valeurs entre les pages d'une
même application Web. Dans la mesure où ses méthodes implémentent le
verrouillage automatique, les valeurs sont accessibles simultanément dans
plusieurs pages de manière sécurisée.
4 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
Utilisation de paires L'objet Cache utilise des paires clé/valeur pour stocker et extraire des objets. La
clé/valeur clé est la chaîne de clé du cache utilisée pour référencer l'objet. La valeur est
l'objet à mettre en cache. Dans le cas le plus simple, placer un élément dans le
cache et l'extraire revient à ajouter un élément dans un dictionnaire.
Pour ajouter un élément dans un objet Cache :
Microsoft Visual Cache("mykey") = myValue
Basic® .NET
C# Cache["mykey"] = myValue;
C# myValue = Cache["myKey"];
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 5
Introduction L'objet Cache offre une interface de dictionnaire simple qui permet d'insérer
facilement des valeurs et de les extraire ultérieurement. L'utilisation de l'objet
Cache pour stocker des valeurs présente plusieurs avantages.
Plus rapide que la Un élément stocké en mémoire peut être extrait beaucoup plus rapidement que
création d'un objet à s'il devait être recréé. Par exemple, un DataSet qui contient des données issues
chaque demande d'un ordinateur exécutant Microsoft SQL Server™ doit se reconnecter au
serveur SQL Server à chaque demande de page. Si l'objet DataSet est placé
dans l'objet Cache, l'accès aux données devient beaucoup plus rapide.
Prise en charge du L'objet Cache offre une gestion de verrouillage automatique des éléments
verrouillage interne présents dans le cache ; les demandes simultanées d'un élément ne peuvent donc
pas modifier l'objet. La gestion du verrouillage automatique protège les
transactions intra-processus lors de la mise à jour des éléments.
Gestion automatique ASP.NET supprime automatiquement et régulièrement les éléments du cache.
des ressources du Cette suppression automatique constitue une amélioration par rapport aux
cache versions précédentes du cache qui demandaient une gestion manuelle des
ressources de la part des développeurs.
Prise en charge des Les fonctions de rappel sont du code exécuté lors de la suppression d'un
fonctions de rappel élément du cache. Par exemple, vous pouvez utiliser une fonction de rappel
pour placer la dernière version d'un objet dans le cache dès la suppression de la
version précédente.
Prise en charge de la Si un élément en cache présente une dépendance avec un autre élément ou un
suppression reposant fichier mis en cache, l'objet Cache peut être défini de sorte à supprimer cet
sur les dépendances élément lorsque la dépendance répond à certains critères. Par exemple, si vous
stockez des données d'un fichier XML (Extensible Markup Language) dans le
cache, vous pouvez supprimer les données mises en cache lors d'une
modification du document XML.
6 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
'Méthode
'Méthode explicite
explicite
Cache.Insert("myKey",
Cache.Insert("myKey", myValue,
myValue, Dependency,
Dependency, AbsoluteExpiration,
AbsoluteExpiration, __
SlidingExpiration,
SlidingExpiration, CacheItemPriority,
CacheItemPriority, CacheItemRemovedCallBack)
CacheItemRemovedCallBack)
//Méthode
//Méthode implicite
implicite
Cache["myKey"]
Cache["myKey"] == myValue;
myValue;
//Méthode
//Méthode explicite
explicite
Cache.Insert("myKey",
Cache.Insert("myKey", myValue,
myValue, Dependency,
Dependency, AbsoluteExpiration,
AbsoluteExpiration,
SlidingExpiration,
SlidingExpiration, CacheItemPriority,
CacheItemPriority, CacheItemRemovedCallBack);
CacheItemRemovedCallBack);
Introduction L'objet Cache utilise des paires clé/valeur pour stocker et extraire des éléments.
La clé est la chaîne de clé du cache utilisée pour référencer l'élément. La valeur
est l'élément à mettre en cache.
Écriture dans l'objet Vous pouvez écrire implicitement un élément dans un objet Cache, comme
Cache illustré dans le code suivant :
Visual Basic .NET Cache("mykey") = myValue
C# Cache["mykey"] = myValue;
C# Cache.Insert("myKey", myValue,
Dependency, AbsoluteExpiration, SlidingExpiration,
CacheItemPriority, CacheItemRemovedCallBack);
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 7
Extraction de valeurs de L'extraction de valeurs de l'objet Cache est très simple : il suffit de fournir la
l'objet Cache clé correcte pour recevoir la valeur.
Le code suivant utilise la clé myKey pour extraire la valeur myValue, puis
affiche myValue si sa valeur n'est pas vide :
Visual Basic .NET myValue = Cache("mykey")
If myValue <> Nothing Then
DisplayData(myValue)
End If
C# myValue = Cache["mykey"];
if (myValue != null)
DisplayData(myValue);
8 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
! AbsoluteExpiration
DateTime.Now.AddMinutes(5)
DateTime.Now.AddMinutes(5)
! SlidingExpiration
TimeSpan.FromSeconds(20)
TimeSpan.FromSeconds(20)
! Dépendant d'une valeur modifiée
AddCacheItemDependency("Variable.Value")
AddCacheItemDependency("Variable.Value")
! Priorité de l'élément Cache
CacheItemPriority.High
CacheItemPriority.High
Introduction L'objet Cache d'ASP.NET a été conçu pour ne pas utiliser une trop grande
quantité de mémoire du serveur. Par conséquent, il supprime automatiquement
les derniers éléments utilisés lorsque la mémoire disponible devient rare. Vous
pouvez influencer la façon dont l'objet Cache enregistre et supprime les
éléments en définissant des limites de temps, des dépendances et des priorités
pour les éléments qu'il contient.
Les éléments de l'objet Cache sont supprimés dès le déclenchement d'une
dépendance ou d'une limite de temps. Les tentatives d'extraction des éléments
supprimés retournent une valeur null sauf si l'élément est rajouté à l'objet
Cache.
AbsoluteExpiration Vous pouvez définir la durée de vie maximale absolue d'un élément à l'aide du
paramètre AbsoluteExpiration. Ce paramètre de type DateTime vous permet
de spécifier le moment de l'expiration de l'élément.
Le code suivant définit la suppression de myValue de l'objet Cache cinq
minutes après sa création :
Visual Basic .NET Cache.Insert("myKey", myValue, Nothing, _
DateTime.Now.AddMinutes(5), Nothing)
SlidingExpiration Vous pouvez définir la durée de vie maximale relative d'un élément à l'aide du
paramètre SlidingExpiration. Ce paramètre de type TimeSpan vous permet de
spécifier l'intervalle entre le moment du dernier accès de l'objet mis en cache et
le moment de l'expiration de l'objet.
Le code suivant définit la suppression de myValue de l'objet Cache
20 secondes après son dernier accès :
Visual Basic .NET Cache.Insert("myKey", myValue, Nothing, _
Nothing, TimeSpan.FromSeconds(20))
Dépendances La suppression d'un objet de l'objet Cache est parfois nécessaire en raison de la
modification d'un élément de prise en charge, tel qu'un fichier. ASP.NET vous
permet de définir la validité d'un élément mis en cache, selon les dépendances
de fichier ou d'un autre élément mis en cache. Les dépendances qui reposent sur
des fichiers ou des répertoires externes sont des dépendances de fichier, tandis
que les dépendances qui reposent sur un autre élément mis en cache sont des
dépendances de clé. Si une dépendance change, l'élément mis en cache devient
non valide et est supprimé de l'objet Cache.
Le code suivant définit la suppression de myValue de l'objet Cache lors de la
modification du fichier myDoc.xml :
Visual Basic .NET Cache.Insert("myKey", myValue, _
new CacheDependency(Server.MapPath("myDoc.xml")))
Priorité de l'élément Lorsque la mémoire du serveur Web devient insuffisante, l'objet Cache
Cache supprime, de façon sélective, des éléments pour libérer de la mémoire système.
Il est peu probable que les éléments dont la valeur de priorité est élevée soit
supprimés, contrairement aux éléments dont la valeur de priorité est faible.
Le code suivant attribue une priorité élevée à myValue et spécifie qu'il doit être
l'un des derniers éléments à être supprimé de l'objet Cache lorsque la mémoire
du serveur devient limitée :
Visual Basic .NET Cache.Insert("myKey", myValue, Nothing, Nothing, _
Nothing, CacheItemPriority.High, onRemove)
Exemple de définition Le code suivant insère une valeur pour MyBook dans l'objet Cache avec un
des paramètres dans certain nombre d'arguments de paramètres. L'événement de dépendance ou de
Cache.Insert dépassement du délai d'attente qui se produit en premier lieu est celui qui
supprime l'élément de l'objet Cache :
! suppression de l'élément 5 minutes après son stockage ;
! suppression de l'élément 30 secondes après le dernier accès ;
! suppression de l'élément en cas de modification du fichier Books.xml ;
! attribution d'une priorité élevée à l'élément pour le supprimer en dernier lieu
si les ressources du serveur deviennent insuffisantes ;
! exécution de la fonction de rappel onRemove lors de la suppression de
l'élément de l'objet Cache.
Visual Basic .NET Cache.Insert("MyBook.CurrentBook", CurrentBook, _
new CacheDependency(Server.MapPath("Books.xml")), _
DateTime.Now.AddMinutes(5), _
TimeSpan.FromSeconds(30), _
CacheItemPriority.High, onRemove)
C# Cache.Insert("MyBook.CurrentBook", CurrentBook,
new CacheDependency(Server.MapPath("Books.xml")),
DateTime.Now.AddMinutes(5),
TimeSpan.FromSeconds(30),
CacheItemPriority.High, onRemove);
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 11
Introduction Dans cette démonstration, vous allez découvrir comment utiliser l'objet Cache
avec un DataGrid.
Tous les fichiers de cette démonstration figurent dans le projet Mod15VB ou
Mod15CS de la solution 2333Demos.
15. Cliquez avec le bouton droit sur le projet Mod15VB ou Mod15CS dans
l'Explorateur de solutions, puis cliquez sur Générer.
16. Cliquez avec le bouton droit sur CacheTest.aspx, puis cliquez sur
Naviguer avec… Dans la boîte de dialogue Naviguer avec, cliquez sur
Microsoft Internet Explorer, puis sur Parcourir.
17. Cliquez sur Démarrer pour générer la page CacheTest.aspx et l'afficher
dans Internet Explorer.
18. Laissez Internet Explorer ouvert et ouvrez le fichier pubs.xml dans
Visual Studio .NET.
19. Remplacez le titre du premier livre répertorié par un titre facilement
repérable par les stagiaires. Enregistrez le fichier pubs.xml.
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 13
Introduction Dans cette animation, vous allez découvrir comment le cache de sortie de page
affecte les temps de réponse du serveur lorsqu'un formulaire Web ASP.NET est
demandé plusieurs fois.
16 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
Introduction ASP.NET offre une mise en cache de sortie de page, qui vous permet de stocker
des formulaires Web et des contrôles utilisateur dans leur intégralité dans la
mémoire du serveur. Après la première demande, le code du formulaire Web,
du contrôle utilisateur ou du service Web XML n'est pas exécuté ; c'est la sortie
mise en cache qui est utilisée pour répondre à la demande.
ASP.NET crée un seul cache de sortie pour chaque serveur Web. Les pages et
fragments de page stockés dans le cache de sortie sont uniques pour le serveur
Web et ne sont pas accessibles par d'autres serveurs d'une batterie de serveurs
Web (Web farm). Par conséquent, l'utilisation du cache de sortie pour accroître
les performances du serveur n'est pas évolutive pour un seul niveau de serveur
Web.
Mise en cache de page La mise en cache des pages vous permet de mettre en cache du contenu
dynamique. Lors de la première demande d'un formulaire Web, la page est
compilée et mise en cache dans le cache de sortie ; elle est alors disponible pour
la prochaine demande. La page mise en cache est supprimée lorsque le fichier
source est modifié ou lorsque le délai d'expiration du cache est atteint.
Mise en cache de La mise en cache d'une page entière peut s'avérer parfois difficile, car certaines
fragment de page sous parties de la page sont créées de manière dynamique à chaque demande. Dans
forme d'un contrôle ce cas, il peut être utile d'identifier les objets ou les données associées à la
utilisateur demande de page qui changent peu et dont la création ne nécessite pas
beaucoup de ressources serveur. Après avoir identifié ces objets ou données,
vous pouvez les isoler du reste de la page en les créant sous la forme de
contrôles utilisateur et en mettant en cache dans le cache de sortie de page.
Un exemple de fragment de page qu'il est utile de mettre en cache est un en-tête
de page contenant des graphiques statiques ou un système de menu latéral.
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 17
Mise en cache de Les services Web XML prennent également en charge la mise en cache pour
service Web XML améliorer les performances des réponses. Dans l'attribut WebMethod, ajoutez
la propriété CacheDuration et définissez la valeur sur le nombre de secondes
durant lequel la méthode de service Web XML doit demeurer dans le cache de
sortie.
Par exemple, le code suivant place le résultat de l'attribut WebMethod appelé
CachedInfo dans le cache de sortie pendant cinq minutes :
Visual Basic .NET <WebMethod(CacheDuration:=300)> _
Public Function CachedInfo() As String
...
End Function
C# [WebMethod(CacheDuration=300)]
public string CachedInfo()
{
...
}
Introduction ASP.NET offre une mise en cache de sortie de page, qui vous permet de stocker
des formulaires Web demandés dans la mémoire du serveur. Après la première
demande, le code du formulaire Web n'est pas exécuté ; c'est la sortie mise en
cache qui est utilisée pour répondre à la demande.
Contenu mis en cache Pour charger une page dans le cache de sortie, vous devez ajouter la directive
de pages dynamiques OutputCache au formulaire Web. Cette directive contient deux propriétés : une
propriété Duration qui définit, en secondes, le temps de stockage maximal de
la page mise en cache et une propriété VaryByParam qui détermine le moment
où une nouvelle copie de la page est créée dans le cache, selon les paramètres
passés à la page.
Disponibilité de La mise en cache de sortie permet de répondre aux demandes d'une page
l'ensemble de la page particulière à partir du cache, de sorte que le code qui a créé la page ne doit pas
Web dans le cache être exécuté pour les demandes suivantes. L'utilisation de la mise en cache de
sortie pour stocker les pages les plus fréquemment visitées de votre site Web
peut réduire considérablement le temps de réponse de la page du serveur Web.
Définition de la durée du Pour spécifier la valeur du délai d'expiration du cache pour une page, vous
cache devez définir la directive de page OutputCache. Par exemple, pour mettre en
cache une page ASP.NET pendant 15 minutes, ajoutez la directive de page
OutputCache suivante à la page .aspx :
<%@ OutputCache Duration="900" VaryByParam="None"%>
! Démonstration de la modification
d'une page non mise en cache à
chaque actualisation
! Démonstration de la non-modification
d'une page mise en cache à chaque
actualisation
! Démonstration de la mise en cache
d'une nouvelle page suite à la
modification d'un paramètre
Introduction Dans cette démonstration, vous allez découvrir comment la mise en cache de
sortie de page optimise une application Web. Vous verrez tout d'abord une page
qui exécute une fonction d'horloge qui n'est pas mise en cache. Vous
découvrirez ensuite la même page avec une durée de cache de sortie de
10 secondes. Vous verrez enfin comment la modification de la propriété
VaryByParam contrôle la mise en cache de plusieurs versions de la page.
Tous les fichiers de cette démonstration figurent dans le projet Mod15VB ou
Mod15CS de la solution 2333Demos.
<%@
<%@ OutputCache
OutputCache Duration="120"
Duration="120"
VaryByParam="none"%>
VaryByParam="none"%>
Introduction Pour mettre en cache certaines parties d'une page uniquement, vous devez les
isoler du reste de la page en les plaçant dans un contrôle utilisateur. Ensuite,
vous devez mettre en cache le contrôle utilisateur durant une certaine période ;
cette procédure s'appelle la mise en cache de fragments.
La mise en cache de fragments vous permet de séparer les parties d'une page
(par exemple, les requêtes de base de données qui nécessitent beaucoup de
temps processeur) du reste de la page. Grâce à la mise en cache de fragments,
vous pouvez sélectionner uniquement les parties de la page (celles nécessitant
peu de ressources serveur ou celles devant être créées à chaque demande, par
exemple) à générer automatiquement à chaque demande.
Les éléments conseillés pour la mise en cache de fragments sont les en-têtes, les
pieds de page et les listes déroulantes utilisés par plusieurs pages.
Conversion d'un Après avoir identifié les parties de la page à mettre en cache, vous devez créer
fragment en contrôle des contrôles utilisateur qui encapsulent chacun de ces fragments.
utilisateur
Remarque Pour plus d'informations sur la création des contrôles utilisateur,
consultez le module 8, « Création de contrôles utilisateur », du cours 2333A,
Développement d'applications Web Microsoft ASP.NET à l'aide de Visual
Studio .NET.
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 23
Définition des propriétés La définition de la stratégie de mise en cache des contrôles utilisateur (par
Duration et exemple, la durée et le nombre des variations stockées) est identique à celle de
VaryByParam la stratégie de mise en cache de page. Ces stratégies sont définies à l'aide de la
directive OutputCache.
Par exemple, si vous insérez la directive suivante en haut d'un fichier de
contrôle utilisateur, une version du contrôle utilisateur est stockée dans le cache
de sortie pendant deux minutes et une seule version du contrôle utilisateur est
mise en cache :
<%@ OutputCache Duration="120" VaryByParam="none"%>
24 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
Introduction Avant de déployer une application Web ASP.NET, vous devez organiser ses
paramètres dans les fichiers Machine.config et Web.config. Dans cette leçon,
vous apprendrez à configurer une application Web ASP.NET.
Objectifs de la leçon À la fin de cette leçon, vous serez à même d'effectuer les tâches suivantes :
! expliquer les méthodes de configuration d'une application Web ;
! configurer un serveur Web à l'aide du fichier Machine.config ;
! configurer une application à l'aide des fichiers Web.config ;
! expliquer comment les fichiers Web.config héritent du fichier
Machine.config et d'autres fichiers Web.config ;
! stocker et extraire des données à l'aide des fichiers Web.config ;
! utiliser des propriétés dynamiques pour stocker des valeurs de propriété.
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 25
! Fichier Machine.config
" Paramètres au niveau de l'ordinateur
! Fichiers Web.config
" Paramètres au niveau de l'application et des
répertoires
! Les fichiers Machine.config et Web.config ont les
propriétés suivantes :
" XML bien formé
" camelCase
" Extensibles
Introduction Dans ASP.NET, vous pouvez partager les informations et les paramètres entre
plusieurs pages Web en stockant les paramètres d'application Web dans un
emplacement central : le fichier Web.config. Vous pouvez également stocker
des informations et des paramètres locaux dans des répertoires virtuels en créant
des fichiers Web.config locaux supplémentaires.
Un seul fichier Web.config se situe toujours dans le dossier racine de
l'application Web. Les fichiers Web.config supplémentaires peuvent se trouver
dans le dossier du répertoire virtuel auquel ils appartiennent.
Un fichier Web.config au La présence d'un fichier Web.config dans un répertoire donné est facultative.
minimum par application En cas d'absence de ce fichier, tous les paramètres de configuration de ce
Web répertoire sont automatiquement hérités du répertoire parent, le fichier
Web.config.
Une section pour Un fichier Web.config contient des sections pour chaque catégorie principale de
chaque catégorie fonctionnalité ASP.NET, comme illustré dans le tableau ci-dessous.
principale de
fonctionnalité ASP.NET Nom de la section Description
<browserCaps> Chargée du contrôle des paramètres du composant des
fonctionnalités du navigateur.
<compilation> Chargée de tous les paramètres de compilation utilisés par
ASP.NET.
<globalization> Chargée de la configuration des paramètres de globalisation
d'une application.
<httpModules> Chargée de la configuration des modules HTTP (Hypertext
Transfer Protocol) dans une application. Les modules HTTP
participent au traitement de chaque demande dans une
application. La sécurité et la journalisation en sont des
utilisations courantes.
<httpHandlers> Chargée du mappage des URL entrantes aux classes
IHttpHandler. Les sous-répertoires n'héritent pas de ces
paramètres.
28 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
(suite)
Nom de la section Description
<processModel> Chargée de la configuration des paramètres du modèle de
processus ASP.NET sur les serveurs Web IIS (Internet
Information Services).
<authentication> Chargée de tous les paramètres de sécurité utilisés par la classe
<identity> de sécurité ASP.NET httpModule.
<authorization>
<sessionState> Chargée de la configuration de la classe httpModule d'état de
session.
<trace> Chargée de la configuration du service de traçage d'ASP.NET.
! Le fichier Web.config au
CONFIG
CONFIG niveau de l'application
hérite des paramètres du
Machine.config fichier Machine.config
! Les paramètres en conflit
du fichier Web.config
VirtualDir
VirtualDir
remplacent les
paramètres hérités
Web.config ! Les répertoires
individuels peuvent
hériter de fichiers
SubDir
SubDir Web.config et remplacer
les paramètres du fichier
Web.config Web.config de
l'application
Introduction Lorsqu'un serveur Web reçoit une demande relative à une ressource Web
particulière, ASP.NET détermine hiérarchiquement les paramètres de
configuration de cette ressource. ASP.NET utilise tous les fichiers de
configuration situés dans le chemin d'accès du répertoire virtuel de la ressource
demandée. Le paramètre de configuration de niveau inférieur peut remplacer les
paramètres fournis dans les fichiers de configuration du répertoire parent.
Les fichiers de configuration doivent respecter les règles suivantes quant à leur
héritage :
! les fichiers Web.config de l'application héritent des paramètres du fichier
Machine.config ;
! les paramètres en conflit d'un fichier Web.config enfant remplacent les
paramètres hérités ;
! les répertoires individuels peuvent hériter de fichiers Web.config et
remplacer les paramètres du fichier Web.config de l'application.
Machine.config Le fichier de niveau le plus élevé est le fichier Machine.config. Ses paramètres
s'appliquent à tous les répertoires et sous-répertoires d'ASP.NET. Il est installé
avec Microsoft .NET Framework et contient de nombreux paramètres
ASP.NET par défaut.
Par exemple, le paramètre par défaut de la section de configuration de la
sécurité du fichier Machine.config permet aux utilisateurs d'accéder à toutes les
ressources URL. Par conséquent, chaque application Web autorise l'accès à
toutes les ressources URL, sauf si le paramètre est remplacé dans Web.config.
30 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
Introduction Dans cette démonstration, vous allez découvrir comment les paramètres de
configuration sont hérités d'un fichier Web.config dans un deuxième fichier
Web.config situé dans un sous-répertoire.
Tous les fichiers de cette démonstration figurent dans le projet Mod15VB ou
Mod15CS de la solution 2333Demos.
Introduction Dans cette application pratique, vous allez examiner un fichier Machine.config
et deux fichiers Web.config pour déterminer les paramètres de configuration du
serveur Web, de l'application Web et du sous-répertoire de l'application Web.
Examinez le code ci-dessous du fichier Machine.config. Ensuite, répondez aux
questions.
<configuration>
<appSettings>
<add key="Nom du fichier XML par défaut"
value="Default.xml" />
<add key="Nom du fichier texte par défaut"
value="Default.txt" />
</appSettings>
<authentication mode="Windows">
<forms name=".ASPXAUTH"
loginUrl="login.aspx"
protection="All"
timeout="30"
path="/">
</forms>
</authentication>
<system.web>
<trace
enabled="false"
localOnly="true"
pageOutput="false"
requestLimit="10"
traceMode="SortByTime"
/>
</system.web>
</configuration>
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 33
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
34 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
____________________________________________________________
____________________________________________________________
____________________________________________________________
Le traçage est-il activé pour l'application Web ? Si tel est le cas, le traçage
peut-il être effectué à partir d'un ordinateur externe ?
____________________________________________________________
____________________________________________________________
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 35
____________________________________________________________
____________________________________________________________
36 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
____________________________________________________________
Le traçage est-il activé pour l'application Web ? Si tel est le cas, le traçage
peut-il être effectué à partir d'un ordinateur externe ?
____________________________________________________________
____________________________________________________________
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 37
AppSettingsReader
AppSettingsReader App
App == new
new AppSettingsReader();
AppSettingsReader();
string
string strPubs
strPubs == (string)App.GetValue("pubs",
(string)App.GetValue("pubs",
typeof(string));
typeof(string));
Introduction La section <appSettings> du fichier Web.config peut être utilisée en tant que
référentiel pour les paramètres de l'application. Vous pouvez y créer des paires
clé/valeur pour les données qui sont utilisées couramment dans l'application
Web. Cette fonctionnalité est très utile, car elle permet de centraliser la
définition de toutes les données de configuration de l'application. Vous pouvez,
par exemple, stocker une chaîne de connexion de base de données pour une
application à un emplacement centralisé, au lieu de la stocker dans chaque page
ASP.NET.
Stockage des Pour stocker les paramètres d'application, entrez une paire clé/valeur pour les
paramètres d'application informations que vous souhaitez stocker. Le fichier Web.config suivant crée
dans Web.config deux paires clé/valeur pour les chaînes de connexion des bases de données
utilisées dans une application Web :
configuration>
<appSettings>
<add key="pubs"
value="data source=localhost;
initial catalog=pubs;
integrated security=SSPI" />
<add key="northwind"
value="data source=localhost;
initial catalog=northwind;
integrated security=SSPI" />
</appSettings>
</configuration>
38 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
Extraction des Pour extraire les paramètres d'application des fichiers Web.config, utilisez la
paramètres d'application collection de chaîne statique ConfigurationSettings.AppSettings.
de Web.config
Ainsi, l'exemple de code suivant lit la valeur de la clé pubs dans la section
<appSettings> :
Visual Basic .NET Dim strPubs As String = _
ConfigurationSettings.AppSettings("pubs")
Introduction Dans cette démonstration, vous allez découvrir comment activer et configurer
un objet SqlConnection pour utiliser des propriétés dynamiques.
Tous les fichiers de cette démonstration figurent dans le projet Mod15VB ou
Mod15CS de la solution 2333Demos.
Affichage du nouveau 7. Affichez le nouveau code généré dans la page code-behind et recherchez la
code généré ligne de code qui définit la propriété ConnectionString de l'objet
SqlConnection :
Visual Basic .NET Me.SqlConnection1.ConnectionString = _
CType(configurationAppSettings.GetValue _
("SqlConnection1.ConnectionString", _
GetType(System.String)), String)
C# this.SqlConnection1.ConnectionString =
((string)(configurationAppSettings.GetValue("SqlConnection1
.ConnectionString", typeof(string))));
Introduction Après avoir défini des objets Cache ainsi que le cache de sortie et organisé les
paramètres de l'application Web entre les fichiers Machine.config et
Web.config, vous pouvez déployer votre application Web ASP.NET.
Dans cette leçon, vous apprendrez à sélectionner les fichiers requis pour
exécuter l'application Web, puis à utiliser XCOPY ou le protocole FTP (File
Transfer Protocol) pour les copier dans le répertoire de production.
Objectifs de la leçon À la fin de cette leçon, vous serez à même d'effectuer les tâches suivantes :
! expliquer les méthodes de déploiement d'une application Web ;
! préparer le déploiement de l'application Web en sélectionnant uniquement
les fichiers nécessaires à l'exécution de l'application Web ;
! partager des assemblys dans le cache de l'assembly global (GAC, Global
Assembly Cache).
! mettre à jour une application Web ASP.NET.
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 43
Introduction Pour déployer une application Web ASP.NET vers un répertoire ou un serveur
de production, vous devez copier tous les fichiers nécessaires à l'emplacement
adéquat. Cette copie s'effectue généralement à l'aide de l'Explorateur Windows
pour les copies locales ou de FTP pour les déploiements distants. Ce type de
copie est souvent appelé déploiement XCOPY, en raison du nom de l'utilitaire
XCOPY de Microsoft MS-DOS® qui permet de copier tous les fichiers et
dossiers d'un répertoire.
Configuration du Avant de pouvoir déployer une application Web vers un répertoire de
dossier cible en tant que production, le dossier vers lequel est déployée l'application Web doit être
répertoire virtuel dans configuré en tant que répertoire virtuel dans les services IIS (Internet
les services IIS Information Services).
Copie de tous les Seuls les sous-ensembles de fichiers nécessaires à la création d'une application
fichiers nécessaires Web doivent exécuter celle-ci dans le répertoire de production. Avant de copier
l'application Web, vous devez la générer, puis supprimer tous les fichiers
inutiles.
Dans la mesure où les applications du Common Language Runtime sont
auto-descriptives et ne nécessitent pas d'entrées de registre, vous ne devez pas
enregistrer de composants avant ou après la copie de fichiers. L'application
Web peut accepter des demandes après avoir été copiée dans un dossier
configuré en tant que répertoire d'application Web dans les services IIS.
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 45
Les fichiers qui ne sont pas nécessaires dans le répertoire de production sont les
suivants :
! Fichiers de solution Visual Studio .NET (.vbproj, .vbproj.webinfo, .csproj,
etc.)
Ces fichiers sont uniquement requis par Visual Studio .NET pour
développer l'application Web et ne sont pas nécessaires pour exécuter
l'application Web dans un environnement de production.
! Fichiers ressource (.resx)
Ces fichiers sont compilés dans le fichier DLL.
! Pages code-behind (.vb, .cs)
Ces fichiers sont compilés dans le fichier DLL.
Fichiers requis Les fichiers qui sont nécessaires sur le serveur de production sont les suivants :
! Le répertoire \bin et les fichiers DLL qu'il contient.
Il s'agit des fichiers de ressources et des pages code-behind compilés.
! Tous les fichiers de formulaire Web, de contrôle utilisateur et de service
Web XML (.aspx, .ascx, .asmx).
Il s'agit des fichiers d'interface utilisateur et d'application.
! Les fichiers de configuration, notamment Web.config et global.asax.
Si vous avez modifié les paramètres de configuration dans le fichier
Machine.config de l'ordinateur de développement, vous devez apporter les
mêmes modifications au fichier Machine.config du serveur de production.
! Tout fichier de prise en charge supplémentaire présent dans le répertoire (les
fichiers XML, par exemple).
Copie ou transfert de Après avoir compilé l'application Web et supprimé tous les fichiers non requis,
fichiers via FTP il suffit de copier, ou de transférer via FTP, tous les fichiers restants de
l'application Web du répertoire de développement vers le répertoire de
production.
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 47
Dans cette application pratique, vous allez sélectionner les fichiers que vous
devez copier dans le répertoire de production.
Fichier Fichier
Visual Basic .NET Microsoft Visual C#™ Conserver Supprimer
.vbproj .csproj
.vbproj.webinfo .csproj.webinfo
.resx .resx
.dll .dll
.aspx .aspx
répertoire \bin et son répertoire \bin et son
contenu contenu
.aspx.vb .aspx.cs
.csproj .vbproj
Global.asax Global.asax
.exe .exe
.ascx .ascx
.xml .xml
Web.config Web.config
48 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
Introduction Chaque ordinateur sur lequel est installé le Common Language Runtime
dispose également d'un cache pour le code de l'ordinateur, appelé cache de
l'assembly global. Après avoir déployé votre application Web sur un serveur
Web de production, vous pouvez utiliser ce cache pour partager du code entre
les applications Web sur le serveur Web.
Stockage des assemblys Bien que l'objet Cache d'ASP.NET soit utilisé pour le stockage à court terme
à partager d'informations dans une application Web, le cache de l'assembly global peut
être utilisé pour partager du code sur l'ensemble du serveur Web. Le cache de
l'assembly global stocke des assemblys qui ont été conçus pour être partagés par
plusieurs applications Web sur un serveur. Un assembly est un ensemble de
ressources regroupées dans un seul fichier (un fichier dll, par exemple).
Les raisons pour lesquelles vous devez installer un assembly dans le cache de
l'assembly global sont les suivantes :
! Emplacement partagé
Les assemblys utilisés par plusieurs applications peuvent être placés dans le
cache de l'assembly global.
! Sécurité de fichier
Le cache de l'assembly global est installé dans le répertoire WINNT, dont le
contenu est généralement protégé par des restrictions d'accès.
! Versioning côte à côte
Vous pouvez gérer, dans le cache de l'assembly global, plusieurs copies
d'assemblys qui portent le même nom mais dont les informations de version
sont différentes.
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 49
Introduction Lorsque votre application Web est exécutée dans un répertoire de production,
vous pouvez la mettre à jour à tout moment sans redémarrer le serveur, les
services IIS ou l'application Web.
Copie ou transfert de Lorsqu'une nouvelle version de l'application Web est disponible, ASP.NET
fichiers via FTP vous permet de copier uniquement les nouveaux fichiers dans le répertoire et de
remplacer les fichiers existants. Lorsque l'utilisateur suivant se connecte à votre
application Web, il reçoit les fichiers les plus récents. Contrairement aux
versions précédentes d'ASP (Active Server Pages), la mise à jour d'un site Web
ASP.NET ne nécessite pas l'arrêt ou le redémarrage des services IIS.
Le cache de sortie Si vous activez la mise en cache de sortie de page pour les formulaires Web, les
protège les utilisateurs utilisateurs continuent à recevoir les anciennes versions des pages jusqu'à
existants l'expiration du cache. Après l'expiration des pages mises en cache, les
utilisateurs reçoivent une version mise à jour de la page.
50 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
Assurance Plans
Plans Assurance
Assurance Soins
Soins
Assurance vie
vie de
de retraite
retraite maladie
maladie dentaires
dentaires
Life.aspx
Life.aspx
Retirement.aspx
Retirement.aspx Medical.aspx
Medical.aspx Dental.aspx
Dental.aspx
Fichiers
XML Doctors Dentists
Objectifs À la fin de cet atelier, vous serez à même d'effectuer les tâches suivantes :
! utiliser l'objet Cache pour mettre en cache un DataSet ;
! utiliser les propriétés dynamiques ;
! utiliser la mise en cache de sortie de page pour mettre en cache un
formulaire Web et un contrôle utilisateur ;
! utiliser la propriété VaryByParam pour manipuler la mise en cache de
page ;
! déployer une application Web Microsoft® ASP.NET sur un serveur distant.
Remarque Cet atelier étant axé sur les concepts de ce module, il ne respecte
pas les recommandations Microsoft relatives à la sécurité.
Conditions préalables Pour aborder cet atelier, vous devez disposer de connaissances élémentaires
dans les domaines suivants :
! Utilisation de l'objet Cache
! Fonctionnement de la mise en cache de sortie de page
! Utilisation des services IIS (Internet Information Services)
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 53
Scénario Coho Winery offre de nombreux avantages à ses employés. Dans les ateliers du
cours 2333A, Développement d'applications Web Microsoft ASP.NET à l'aide
de Visual Studio .NET, vous créerez un site Web qui permettra aux employés de
sélectionner et de définir les avantages qu'ils auront choisis.
Dans cet atelier, vous effectuerez les tâches suivantes :
! utiliser l'objet Cache pour mettre en cache un DataSet ;
! utiliser la mise en cache de sortie pour mettre en cache un formulaire Web
et un contrôle utilisateur ;
! utiliser les propriétés dynamiques pour stocker l'URL (Uniform Resource
Locator) d'un service Web XML ;
! déployer le site Web ApplicationAtelier2333 vers un serveur distant.
Durée approximative de
cet atelier :
90 minutes
54 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
Exercice 0
Mise en place de l'atelier
Pour réaliser cet atelier, vous devez avoir créé un projet d'application Web
intitulé Benefits et un projet de bibliothèque de classes intitulé BenefitsList. Ces
projets peuvent être créés à l'aide de Microsoft Visual Basic® .NET ou de
Microsoft Visual C#™ .NET.
Si vous n'avez pas créé ces projets, procédez comme suit :
Exercice 1
Utilisation de l'objet Cache
Dans cet exercice, vous allez utiliser l'objet Cache pour mettre en cache l'objet
DataSet intitulé doctors (médecins). L'insertion d'un DataSet dans le cache
réduit le nombre de connexions d'un formulaire Web à la source de données
(Microsoft SQL Server™, dans ce cas) pour remplir le DataGrid.
Dans la mesure où le DataGrid utilise des DataView qui reposent sur le nom
de la ville sélectionnée dans la zone de liste, la mise en cache sera implémentée
dans la procédure d'événement Page_Load et dans la procédure d'événement
SelectedIndexCached de la zone de liste.
Le DataGrid implémente également la pagination. Pour réduire la quantité de
code ajouté au cours de cet atelier, désactivez cette fonctionnalité du DataGrid.
! Désactivation de la pagination
1. Ouvrez le fichier doctors.aspx.
2. Cliquez avec le bouton droit sur l'objet DataGrid intitulé dgDoctors, puis
sélectionnez Générateur de propriétés.
3. Sélectionnez l'onglet Pagination et désactivez la case à cocher Autoriser la
pagination.
La pagination du DataGrid est désactivée. Toutes les données retournées de
la source de données s'affichent.
4. Cliquez sur OK.
C# if (!Page.IsPostBack)
3. Ajoutez du code juste avant cette ligne pour vérifier la présence d'une clé
intitulée doctors dans le cache. Ce code vérifie si la clé est vide ou n'existe
pas.
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 61
C# if (Cache["doctors"] == null)
{
sqlDataAdapter1.Fill(dsDoctors1);
Cache.Insert("doctors", dsDoctors1, null,
DateTime.Now.AddMinutes(4),
System.Web.Caching.Cache.NoSlidingExpiration);
}
C# sqlDataAdapter1.Fill(dsDoctors1);
C# dgDoctors.DataSource = dsDoctors1;
C# dgDoctors.DataSource = Cache["doctors"];
62 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
C# sqlDataAdapter1.Fill(DsDoctors1);
2. Supprimez cette ligne de code et remplacez-la par le même code que celui
ajouté à la procédure d'événement Page_Load. Ce code vérifie la présence
de la clé de cache doctors et crée une nouvelle clé si la clé doctors n'existe
pas ou est vide.
3. Dans le code restant de la procédure d'événement
lstCities_SelectedIndexChanged, remplacez les occurrences de
dsDoctors1 par la clé de cache doctors et convertissez-la en un type
DataSet.
Une fois terminée, la procédure d'événement
lstCities_SelectedIndexChanged complète doit ressembler à ce qui suit :
Visual Basic .NET Dim strCity As String = _
Trim(lstCities.SelectedItem.Value)
if (strCity == "[Toutes]")
dgDoctors.DataSource = Cache["doctors"];
else
{
DataView dvDocs = new
DataView(((DataSet)Cache["doctors"]).Tables[0]);
dvDocs.RowFilter = "city = '" + strCity + "'";
dgDoctors.DataSource = dvDocs;
}
reset();
dgDoctors.DataBind();
Remarque Lorsque vous utilisez une clé de cache avec un objet DataView,
vous devez effectuer une conversion de type de données explicite car Option
Strict est activé pour le projet Benefits.
! Vérification de la page
1. Enregistrez doctors.aspx.vb ou doctors.aspx.cs, puis générez et parcourez la
page.
Si vous recevez une erreur d'autorisation SQL lorsque vous essayez
d'accéder au site Web Benefits, fermez Internet Explorer, ouvrez
l'Explorateur Windows, accédez à dossier_installation\LabFiles\Lab15\VB\
Starter ou dossier_installation\LabFiles\Lab15\CS\Starter et double-cliquez
sur Lab15.bat.
2. Vérifiez la zone de liste déroulante ou les noms de ville en sélectionnant des
noms de ville distincts.
64 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
Exercice 2
Utilisation du cache de sortie de page
Dans cet exercice, vous allez mettre en cache un formulaire Web à l'aide de la
directive OutputCache. Vous modifierez également l'attribut VaryByParam.
Scénario La page medical.aspx affiche le nom de l'utilisateur, sa date de naissance et le
médecin qu'il a sélectionné dans la page doctors.aspx. Pour réduire le temps de
réponse de cette page, vous devez mettre en cache l'intégralité de la page à
l'aide de la mise en cache de sortie de page.
____________________________________________________________
66 Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET
____________________________________________________________
Exercice 3
Mise en cache partielle d'une page
Dans cet exercice, vous allez utiliser la mise en cache de sortie de page pour
mettre en cache le contrôle utilisateur header.ascx. Vous ajouterez tout d'abord
des informations horaires à l'en-tête pour vérifier que le cache fonctionne
correctement.
Scénario Le contrôle utilisateur header.ascx affiche une bannière en haut de chaque page
de votre application Web. Dans la mesure où ces informations ne changent
généralement pas et sont requises pour chaque demande de page, vous devez les
mettre en cache pour les extraire rapidement.
C# lblTime.Text = DateTime.Now.TimeOfDay.ToString();
____________________________________________________________
Exercice 4
Utilisation des propriétés dynamiques
Dans cet exercice, vous allez utiliser des propriétés dynamiques pour placer
l'URL du service Web XML DentalService dans le fichier Web.config.
Scénario Un service Web XML peut contenir une URL qui change au fil du temps. Si
votre application Web se connecte à un service Web XML, vous pouvez placer
l'URL de ce service Web dans le fichier Web.config de votre application Web.
Si l'URL du service Web XML change, vous devez simplement mettre à jour le
fichier Web.config, et non changer les informations de proxy et régénérer le
projet. La modification du fichier Web.config ne nécessite pas la regénération
de l'application Web.
____________________________________________________________
____________________________________________________________
____________________________________________________________
Module 15 : Configuration, optimisation et déploiement d'une application Web Microsoft ASP.NET 71
Exercice 5
Déploiement de votre site
Dans cet exercice, vous allez déployer votre site Web vers un autre serveur.
Vous utiliserez l'ordinateur de votre partenaire de classe en tant que serveur de
déploiement.
! Test du déploiement
1. Ouvrez Microsoft Internet Explorer.
2. Dans la barre d'adresses, tapez http://partenaire/Lab15VB ou
http://partenaire/Lab15CS où partenaire représente le nom de l'ordinateur
de votre partenaire.
La page Default.aspx s'affiche.
3. Parcourez le site pour vérifier que toutes les pages et les fonctions
apparaissent comme prévu.