FAQ ASP.NET/C#
FAQ ASP.NET/C#Consultez toutes les FAQ
Nombre d'auteurs : 39, nombre de questions : 371, dernière mise à jour : 15 juin 2021
- Quels sont les moyens de déployer une application ASP.NET ?
- Comment améliorer les performances dans un environnement de production ?
- Mon serveur redémarre tout seul, pourquoi ?
- Comment utiliser ClickOnce sur un autre serveur que IIS ?
- Je reçois l'exception "A generic error occurred in GDI+", pourquoi ?
- Comment créer une application web sans la placer sous Inetpub/wwwroot?
- Comment exécuter une application se trouvant sur l'intranet ?
- Copie simple à l'aide de xcopy
- Projet de déploiement (attention cependant qu'il faut avoir accès au serveur lui-même, ce projet ne permettant l'installation que sur le serveur local)
- VS.NET par l'option "Copier un projet"
Lien : Déploiement d'une application ASP.NET par Ronald Vasseur
Evitez de déployer une application avec <compilation debug= "true" > dans le web.config. Il s'agit de l'erreur la plus fréquente et ceci a pour conséquence de :
- Diminuer les performances en termes de vitesse (des éléments supplémentaires sont chargés)
- Utiliser plus de mémoire
- De renvoyer les scripts javascript à chaque chargement de la page
Pour un mode encore plus complet, utilisez plutot retail="true" dans le web.config.
<configuration>
<system.web>
<deployment
retail
=
"true"
/>
</system.web>
</configuration>
Cela aura trois effet combinés. Cela forcera le flag debug à passer à false (comme indiqué ci-dessus), cela va désactiver le traçage, et cela va forcer la page d'erreur personnalisée a être affichée pour les utilisateurs distants plutôt que l'actuel message d'exception.
Les applications .NET ont la possibilité de faire du "Process recycling". Le
Process recycling permet d'arrêter et de redémarrer une application si:
- elle est inactive (c'est à dire quand tous les clients ont atteint le timeout)
- elle consomme trop de ressources.
Si vous avez accès au fichier Machine.Config, il vous est possible de modifier le
processModel à votre guise (timeout, memoryLimit, maxIoThreads, ...)
Il est possible d'utiliser ClickOnce avec un autre serveur que IIS. Deux cas sont possibles:
- Vous avez accès à la configuration du serveur, ajoutez ceci dans le fichier "mime.type":
application/manifest manifest
application/xaml+xml xaml
application/x-ms-application application
application/x-ms-xbap xbap
application/octet-stream deploy
- Vous utilisez un hébergement mutualisé, rajoutez un fichier .htaccess dans le même dossier que l'application qui est déployée. Ce fichier contiendra:
AddType application/manifest .manifest
AddType application/xaml+xml .xaml
AddType application/x-ms-application .application
AddType application/x-ms-xbap .xbap
AddType application/octet-stream .deploy
Il s'agit très certainement d'un problème de droits.
Vérifiez que l'utilisateur ASP.NET a bien les droits en écriture sur le répertoire dans lequel vous voulez ajouter votre image.
Tout d'abord, créez votre répertoire physique.
Ensuite, à l'aide de la console de management de IIS (Panneau de configuration > Outils d'administration > Internet Information Services), créez le répertoire virtuel associé à ce répertoire physique.
Enfin, créez une nouvelle application asp.net dans Visual Studio et donnez lui le même nom que le nom du répertoire virtuel.
Par défaut, il n'est pas possible d'exécuter une application se trouvant sur l'intranet. Voici la marche à suivre pour autoriser cette exécution :
- Allez dans Paramètres > Panneau de configuration > Outils d'aministration > Microsoft .NET Framework Configuration.
- Dans la fenêtre qui s'affiche, déployez l'arbre jusqu'à atteindre le noeud suivant : Poste de travail > Stratégie de sécurité du runtime > Ordinateur > Groupes de codes > All_Code > LocalIntranet_Zone
- Faites un clic droit sur ce dernier noeud puis Propriétés. Dans la fenêtre qui s'affiche allez dans l'onglet Jeu d'autorisations et là passez l'autorisation de LocalIntranet à FullTrust.
Cette opération peut également se faire en ligne de commande avec l'utilitaire caspol.exe qui se trouve dans le répertoire C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 pour le framework 2.0.
Par exemple
caspol -q -m -ag 1.2 -zone Intranet FullTrust -n My_Zone
Va ajouter un groupe de code nommé My_Zone avec le jeu d'autorisations FullTrust sur la zone Intranet, prenant ainsi le pas sur le jeu d'autorisations LocalIntranet de la zone LocalIntranet_Zone.
Pour supprimer un groupe c'est aussi simple :
caspol -q -m -rg My_Zone