Maison >développement back-end >Tutoriel C#.Net >Partagez les problèmes et les solutions rencontrés lors de la publication de deux sites Web ASP.NET
Faites attention aux pièges lors de la publication d'un site Web ASP.NET. Pourquoi chaque page se fige-t-elle lorsque vous l'ouvrez pour la première fois après la publication du site Web ? Comment résoudre les pertes fréquentes de sessions ASP.NET ? Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer
Outils de développement : VS2010, MVC4.0, SQLSERVER2008
Serveur : Windows server 2012, IIS8, SQLSERVER2012
1. Après la publication, chaque page est bloquée pendant 50 secondes ou plus lorsqu'elle est ouverte pour la première fois. Cependant, elle est très rapide lorsqu'elle est ouverte pour la deuxième fois
Raison estimée : compilation lente. vitesse, mais la publication sur une machine avec un environnement VS n'est pas si bloquée
Solution :
Utilisez une version supérieure de VS, "précompiler lors de la sortie" ; utilisez la fonction d'initialisation de l'application d'IIS8 1 ; . Utilisation de VS2017 "Précompiler pendant la sortie"
J'ai rencontré une erreur lors de la publication :
C'est une erreur d'utiliser une section enregistrée avec allowDefinition='MachineToApplication' en dehors du niveau application. Cette erreur peut survenir si le répertoire virtuel n'est pas configuré en tant qu'application dans IIS.
Solution : Commentez le code suivant dans web.config lors de la publication
<!--<authentication mode="Forms"> <forms loginUrl="~/Account/Login" timeout="2880" /> </authentication>-->
2 . Utilisez la fonction d'initialisation de l'application d'IIS8
Solution au premier accès lent du site Web ASP.NET
2 Le problème des pertes fréquentes de session ASP.NET
.Problème : La session est perdue environ 30 secondes après la connexion et vous devez vous reconnecter.
Solution : ASP.NET a plusieurs modes d'état de session. La valeur par défaut est "Mode InProc". Changez-le en "Mode StateServer" et le problème sera résolu.
1. Le mode arrêt
ferme la session.
Pour fermer la session pour l'ensemble du site, vous pouvez écrire dans la section 2dc15ec6bc814c3aa45b55d017848bed du fichier Web.Config :
2455e49983024f8ccf8b732f0adf21a6
Pour fermer la Session sur une page, ajoutez sur la page :
b26760169218e5c3db07206d05078e57
2. Mode InProc (mode par défaut)
Si le mode SessionState n'est pas configuré dans le fichier Web.config, la valeur par défaut est le mode InProc.
Si vous souhaitez personnaliser les paramètres du mode InProc, vous devez écrire le fichier Web.config, par exemple :
1b9b2fc48e875364b99495d84dfc466c
Lors de l'utilisation du mode StateServer, toutes les classes qui doivent être enregistrées dans la session doivent être sérialisables :
[Sérialisable]
public class SomeClass { >
L'avantage du mode StateServer est qu'il est indépendant du processus IIS, et le redémarrage de l'application IIS n'affecte pas les données de session.
4. Mode SQLServer
Utilisez SQL Server pour enregistrer la session Même si IIS est redémarré, la session ne sera pas perdue. Vous devez d'abord créer la base de données ASPState. Des méthodes spécifiques peuvent être trouvées en ligne.
Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. J'espère également que tout le monde soutiendra Script House.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!