Recommandé: connaissances sur les objets d'erreur ASP avancés pour l'application ASP Dans VBScript, il existe une instruction ONERRORRESUMENEXT qui fait ignorer l'interprète de script à ignorer les erreurs d'exécution et à continuer l'exécution du code de script. Ensuite, le script peut vérifier la valeur de la propriété Err.Number pour déterminer si une erreur s'est produite. Si une erreur se produit, une valeur non nulle est renvoyée
4.2.3 Exemples d'instructions contenant côté serveur
Cette section fournit quelques exemples de pages qui peuvent être utilisées pour expérimenter diverses instructions contenues côté serveur. Ouvrez le sous-répertoire de l'exemple de page Web Chapitre04, affichant les directives SSI et la page d'accueil de l'objet ASP Server (c'est-à-dire par défaut.asp dans le sous-répertoire Chapter04)
Tous les exemples de ce livre peuvent être téléchargés à partir de notre site Web. Les lecteurs trouveront toutes les exemples de pages pour le reste de ce chapitre dans le chapitre 04, le sous-répertoire de l'exemple.
1. Utilisez SSI / CGI pour traiter les instructions
Cliquez sur le lien pour saisir la page Inclut et CGI côté serveur et CGI, qui ouvrira la page SSI_CGI.STM. Il convient de noter que l'extension de fichier de cette page est .stm, indiquant qu'il ne s'agit pas d'une page Web ASP. Cette page utilise toutes les instructions SSI à l'exception de l'instruction #EXEC (qui sera vue plus tard) discutée précédemment et affiche les méthodes d'utilisation et les résultats des instructions, comme le montre la figure 4-4:
Figure 4-4 Instructions de traitement SSI / CGI affichées sur l'exemple de page Web
(1) #include Command
Le début de la page comprend des fichiers avec SSI, affiche le contenu d'un autre fichier séparé nommé intro.inc. Voici le contenu complet du fichier:
Notez que nous devons utiliser les entrées HTML <et> pour afficher les supports d'angle dans la page Web. S'ils ne sont pas terminés, ils ne peuvent pas être traités comme faisant partie de l'élément d'annotation et provoquent l'exécution des instructions.
Dans la page principale SSI_CGI.STM, le code pour insérer ce fichier dans la page est très simple:
<! - #include file = intro.inc ->
(2) directives #config, #fsize et #flastmod
La partie suivante de la page affiche la taille du fichier default.asp dans le même répertoire que la page et la dernière fois qu'il a été modifié. La directive #config a été utilisée trois fois ici:
· Une fois est le jeu de messages d'erreur SSI.
· Une fois, le format de la date et de l'heure.
· Une fois définie le format du calcul de la taille du fichier.
Utilisez les directives #FSize et #fiastMod pour insérer la valeur dans la page Web:
<p> <div class = subhead> instructions ssi </div>
<! - #config errmsg = error de traitement SSI ->
(Définit le message d'erreur en cas d'erreur SSI) <br>
<! - #config errmsg = error de traitement SSI -> <p>
Détails du fichier 'default.asp': <br>
<! - #config sizefmt = octets ->
(Définit Fsize pour retourner la taille en octets) <br>
<! - #config sizefmt = octets ->
<! - #fsize file = default.asp ->
Renvoie: <b> <! - #fsize file = default.asp -> octets </b> <br>
<! - #config timefmt =% a,% b% d% y% h:% m:% s ->
(Définit le format pour les résultats de date / heure) <br>
<! - #config timefmt =% a,% b% d% y% h:% m:% s ->
<! - #flastmod file = default.asp ->
Renvoie: <b> <! - #flastmod file = default.asp -> </b> <p>
(3) commande #echo
La dernière partie de la page (seule une partie peut être vue à l'écran) affiche le contenu de tous les en-têtes HTTP accessibles à l'aide de la directive #ECHO. Le code de chaque ligne est le même, sauf que la valeur de la propriété VAR change. Une liste complète de toutes les valeurs autorisées pour l'attribut VAR est donnée dans l'annexe G.
<Div Class = Soushead> Variables HTTP </div>
<! - #echo var = auth_type ->
retourne: <b> <! - #echo var = auth_type -> </b> <br>
<! - #echo var = auth_password ->
retourne: <b> <! - #echo var = auth_password -> </b> <br>
… etc…
2. Utilisez la directive #Exec
La directive #EXEC est plus difficile à utiliser que les autres directives SSI, et à cause de cela, elle est placée indépendamment sur une autre page. La page de démarrage est accessible à partir de l'objet ASP Server et du menu principal des directives SSI.
Sur cette page, sélectionnez l'utilisation de la liaison directive sur le côté serveur #Echo. Cette opération ouvre la page de directive SSI #EXEC
La page Web de la directive SSI #EXEC
Il s'agit d'une page Web ASP ssi_exec.asp. Deux boutons sont utilisés pour ouvrir la page .stm, qui effectue les actions décrites dans la directive #Exec.
(1) Exécutez cet exemple sur le serveur
Avant que l'exemple de directive SSI #EXEC puisse fonctionner sur le serveur, certaines configurations doivent être modifiées. Tout d'abord, vous devez créer une entrée SSienableCMDDirective (Type DWORD) dans le registre du serveur Web, avec l'emplacement ci-dessous le nom de la clé:
HKEY_LOCAL_MACHINE / System / CurrentControlset / Services / W3SVC / Paramètres
Puis définissez la valeur sur 1
Cela permet à la directive #EXEC d'être utilisée avec l'attribut CMD.
Deuxièmement, l'accès anonyme doit être interdit pour les répertoires contenant des fichiers .stm à l'aide de la directive #Exec. Le client sera obligé de fournir des détails sur le compte, qui devrait être un compte avec les autorisations au niveau de l'administrateur. Il s'agit également d'une exigence pour la commande net de fonctionner normalement.
Activez l'application Internet Services Manager et sélectionnez le répertoire contenant les fichiers .stm à l'aide de la directive #Exec (dans l'exemple, ces fichiers sont start_cisvc.stm et stop_cisvc.stm dans le répertoire execré). Ouvrez ensuite la boîte de dialogue Propriétés pour ce répertoire. Cliquez sur le bouton Modifier dans la zone de contrôle anonyme d'accès et d'authentification dans l'onglet de sécurité du répertoire pour ouvrir la boîte de dialogue des méthodes d'authentification
La case à cocher Anonymous Access n'est pas sélectionnée dans cette boîte de dialogue. Si vous n'utilisez pas Internet Explorer pour accéder à la page, ouvrez l'option d'authentification de base pour permettre aux navigateurs non IE d'accéder à la page en soumettant le nom d'utilisateur / mot de passe. Lors de la configuration, un avertissement concernant la sécurité apparaît, cliquez sur oui. Le navigateur sera désormais obligé d'afficher le compte et le certificat d'identité appropriés car la page n'est pas accessible de manière anonyme.
Afin de voir les résultats du démarrage et de la résiliation du service, ouvrez le plug-in MMC Services et résilier le service d'indexation
(2) Démarrer et résilier le service d'indexation
Cliquez sur le bouton de l'exemple de page Web pour démarrer le service d'indexation Microsoft.
Le nom court de ce service est CISVC, qui est communément appelé Microsoft Index Server, et le caractère CI du nom représente en fait l'indexeur de contenu.
Lorsque vous y êtes invité, entrez le nom d'utilisateur et le mot de passe d'un compte avec les privilèges de l'administrateur sur le serveur Web. Lorsque la page (start_cisvc.stm) est ouverte, vous ressentirez un certain délai car la directive #Exec charge une instance de l'interprète de commande de fenêtre (CMD.EXE), puis exécute la commande net start. Une fois le service au démarrage (ou s'il est déjà en cours d'exécution), le reste de la page sera affiché
L'interface affichée après être entrée dans le nom d'utilisateur et le mot de passe
Le code de cette page est très simple. Vous pouvez voir que la directive #EXEC a une propriété CMD, qui est définie sur cmd.exe / c net start cisvc. Le formulaire contient le bouton Soumettre pour revenir à la page précédente:
<p> Traitement de la directive SSI: </p>
<p> <b> <! - #exec cmd = cmd.exe / c stop cisvc -> </b> </p>
<! - #exec cmd = cmd.exe / c net stop cisvc ->
<Form Action = .. / ssi_exec.asp>
<Type d'entrée = soumettre name = cmdok value =>
Retour à la page précédente <p>
</ form>
Vous pouvez ouvrir d'autres pages Web .stm de la page précédente, telles que stop_cisvc.stm, pour terminer le service, la seule différence est que la commande net stop est utilisée à la place de la commande net start.
…
<! - #exec cmd = cmd.exe / c net stop cisvc ->
…
Partage: Exemple explique comment utiliser l'ensemble d'enregistrements de déconnexion dans ASP Lorsque nous utilisons les composants ADO intégrés d'ASP pour la programmation de bases de données, nous ouvrons généralement une connexion au début du script et la fermons à la fin du script, mais pour les scripts plus grands, la connexion est ouverte beaucoup plus longtemps dans la plupart des cas qu'il ne doit être ouvert. Donc