En el artículo anterior, el autor introdujo en detalle dos métodos muy prácticos para usar la aplicación y sesión de objetos ASP incorporados. Dado que los scripts de eventos Onstart y Onend deben declararse en el archivo global.asa, este artículo introducirá en detalle cómo usar el archivo global.asa. Para permitir que todos dominen el conocimiento que han aprendido hasta ahora, este artículo también incluirá un programa de chat ASP para su referencia.
Recientemente, muchos amigos me han enviado una carta para preguntarme por qué hay tales y tales errores al ejecutar el programa de ejemplo en los dos primeros temas. En primer lugar, quiero declararle que estos programas están escritos por mí mismo y he aprobado la inspección de calificación antes de abandonar la fábrica, y no hay productos falsificados y de mala calidad. :) Dado que las cookies se usan en el programa para registrar la información del cliente, si no establece cookies de Aceptar en su navegador, el programa no se ejecutará normalmente. Además, el método utilizado por el programa para registrar la información del cliente en las cookies del cliente es Respuesta. HTTP Si la información del encabezado HTTP se ha transmitido al cliente, si el Cookie Response.cookie se usa después de que la información del encabezado HTTP se haya transmitido al cliente, aparecerá el siguiente error: el encabezado HTTP se ha escrito en el navegador del cliente. Cualquier modificación de un encabezado HTTP debe ser antes de escribir en el contenido de la página. , Algunos amigos pueden no prestar atención al recortar el programa, interrumpir el orden previo y posterior del programa, o agregar incorrectamente el código HTML antes del programa ASP de muestra, lo que resulta en un error en el programa en ejecución. Por lo tanto, sugiero que, por un lado, no realice ningún cambio en el programa al ejecutar la rutina por primera vez e intente mejorar gradualmente en función de la comprensión del programa. Al menos debe seleccionar cookies aceptables en el navegador.
A continuación, le presentaré cómo usar el archivo global.asa.
¿Qué es un archivo global.asa? En realidad, es un archivo opcional en el que el escritor del programa puede especificar scripts de eventos y declarar objetos con ámbitos de sesión y aplicación. El contenido de este archivo no se usa para mostrar al usuario, sino para almacenar información y objetos de eventos utilizados a nivel mundial por la aplicación. El nombre del archivo debe ser global.asa y debe almacenarse en el directorio raíz de la aplicación. Cada aplicación solo puede tener un archivo global.asa.
En el archivo global.asa, si el script incluido no está encapsulado con la etiqueta <script>, o el objeto definido no tiene una sesión o alcance de la aplicación, el servidor devuelve un error. Podemos escribir scripts incluidos en el archivo global.asa en cualquier idioma habilitado para script. Si múltiples eventos están en el mismo lenguaje de secuencias de comandos, se pueden organizar en un conjunto de etiquetas <script>.
El proceso declarado en el archivo global.ASA solo se puede llamar a uno o más scripts relacionados con los eventos Application_onStart, Application_onend, Session_onStart y Session_onend. No están disponibles en la página ASP de aplicaciones basadas en ASP. Si desea compartir procedimientos entre aplicaciones, puede declararlos en un archivo separado y luego usar la declaración de inclusión del lado del servidor (SSI) para incluir el archivo en el programa ASP que llama al procedimiento. En general, la extensión del archivo que contiene debe ser .Ic.
Aquí hay un archivo global.ASA muy estándar:
<Script Language = VBScript runat = Server>
'Session_onstart se ejecuta cuando el cliente ejecuta por primera vez cualquier página en la aplicación ASP
'Session_onend se ejecuta cuando la sesión de un cliente cronometró o sale de la aplicación
'Application_onstart se ejecuta cuando cualquier cliente accede por primera vez a la página de inicio de la aplicación
'Application_onend se ejecuta cuando el servidor web del sitio está inactivo
</script>
<Script Language = VBScript runat = Server>
Sub Application_onStart
VisitorCountFileName = server.mappath ( /ex2) + /VisitCount.txt
Establecer fileObject = server.CreateObject (scripting.filesystemObject)
Establecer = fileObject.opentextFile (VisitorCountFileName, 1, falso, falso)
Aplicación (visitantes) = out.readline
Aplicación (VisitorCountFileName) = VisitorCountFileName
Final
'=================================================== ================== ==========
Sub Application_onend
Establecer fileOtoBject = server.CreateObject (scripting.filesystemObject)
Establecer = fileOtoCject.CreateTextFile (Aplicación (VisitorCountFileName), True, False)
Out.writeLine (aplicación (visitantes))
Final
'=================================================== ================== ========== Sub Session_onstart
Session.timeout = 5
Aplicación (Visitantes) = Aplicación (Visitantes) + 1
Sesión (id) = session.sessionID
Final
</script>
En este programa global.ASA, está involucrado el componente de acceso a archivos de ASP, que proporciona métodos, propiedades y colecciones para acceder al sistema de archivos. Esto se discutirá en futuros componentes ASP. Aquí, sirve para crear nuevos archivos en el servidor y escribir en los archivos. En realidad, este es un archivo global de una aplicación de contador de acceso ASP. ruta y contenido del archivo en variables a nivel de aplicación. Cuando cualquier cliente accede a cualquier página en una aplicación ASP, la definición del proceso session_onstart agrega automáticamente el valor de los visitantes variables a nivel de aplicación. De esta manera, cada vez que un cliente visita la página, los visitantes variables se agregarán automáticamente a la función de contar la tasa de clics. Dado que el valor de los visitantes variables se almacena en la memoria del sistema, si el servidor se apaga o se reinicia, los datos almacenados en la variable se perderán automáticamente. El servidor está cerrado o reiniciado.
Después de este período de estudio, creo que todos han podido usar los objetos ASP incorporados que hemos aprendido a escribir algunas aplicaciones ASP más simples. Desarrolle algunas aplicaciones ASP simples pero prácticas. Déjame darte un programa de sala de chat web ASP muy simple. Tal vez los amigos hayan visto cómo escribir programas de chat ASP en algunas revistas, pero el autor escribió un programa más simple aquí, usando solo un archivo .asp. Coloque el siguiente código en el bloc de notas y guárdelo como chat.asp.
< %@ Idioma = vBscript %>
< %
Response.Buffer = True 'Establezca el caché de salida para mostrar diferentes páginas.
En el error de error Siguiente 'Ignore la parte de error del programa
If request.serverVariAbles (request_method) = get entonces
'Determine cómo el cliente solicita la página web
'------------------------------------------------- -------------------------------------------------- --------------------------
'Interfaz de inicio de sesión del cliente
'------------------------------------------------- -------------------------------------------------- --------------------------
%>
<Form Method = Post Action = Chat.asp> <p>
<Input type = text name = nick size = 20 value = nick style = background-color: rgb (192,192,192)> <r>
<type de entrada = Valor de envío = Ingrese el nombre de la sala de chat = B1 Style = Color: RGB (255,255,0);
<p> <input type = Hidden name = log size = 20 value = 1> <rr> </p>
</form>
< %
Respuesta. End 'finalice el proceso del programa
Demás
Respuesta. Clear 'Borre el contenido en el caché
Talk Dim Talk
If request.form (nick) <> entonces
'Determinar si el cliente está en la interfaz de chat
Sesión (nick) = request.form (nick)
Final si
'------------------------------------------------- -------------------------------------------------- --------------------------
Interfaz de chat del cliente
'------------------------------------------------- -------------------------------------------------- --------------------------
%>
<Form Method = Post Action = Chat.asp name = form1> <p> < %= session (nick) %> hablar: <input type = text name = talk size = 50> <r>
<input type = enviar value = enviar nombre = b1>
<input type = reset value = cancel name = b2> </p>
</form>
<A href =/asptest/shusheng/chat.asp> dejar <//a> <r> <br>
< %
If request.form (log) <> 1 entonces
If TRIM (request.form (talk)) = entonces
'Determinar si el usuario no ha ingresado nada
Talk = Session (Nick) y el silencio es oro.
Demás
hablar = trim (request.form (talk))
'Retire el espacio después del personaje
Final si
Application.lock
Aplicación (show) = <table border = '0' cellPadding = '0' CellPacing = '0' width = '85%'> <tr> <td width =' 100%'bgcolor ='#c0c0c0 '> </ td > </tr> <tr> <td width = '100%'> <font color = '#0000ff'> & session (nick) & time & from & requit.servervariables (remoto_addr) y dijo: </font> & talk & < /td> </tr> <tr> <td width = '100%' bgcolor = '#c0c0c0'> </td> </tr> </table> <Br> & Application (show)
Aplicación
Respuesta. Aplicación de escritura (show)
Final si
Final si
%>
Realicemos un análisis paso a paso de este programa de sala de chat.
En primer lugar, dado que todos los clientes en la sala de chat deben poder compartir información, es inevitable usar la aplicación de objetos con variables de nivel de aplicación. -Elvel. Podemos usar el objeto de solicitud que hemos aprendido para ingresar la conversación por el cliente y guardarla en la charla variable, y luego almacenar el valor de la charla en el programa variable de nivel de aplicación, de la siguiente manera:
< % Aplicación (show) = talla y aplicación (show) %>
Lo siguiente a tener en cuenta es cómo tratar con diferentes clientes cuando operan en aplicaciones de chat al mismo tiempo. Este problema es en realidad el mismo que dos usuarios en la base de datos que escriben el mismo registro al mismo tiempo. Otro usuario. desapareció antes de que cualquiera que estuviera presente en la sesión lo viera. Para evitar este tipo de problema, necesitamos usar la propiedad de bloqueo del objeto de aplicación para restringir solo al usuario actual para editar o agregar propiedades del objeto de aplicación. Desbloqueado explícitamente hasta entonces, las propiedades del objeto de aplicación solo pueden ser editadas por el usuario. Como se muestra a continuación:
Application.lock
Aplicación (Show) = Talk & Application (Show)
Aplicación
Ahora que ha entendido la parte central de todo el programa, considere cómo guardar la información del cliente. como:
Sesión (nick) = request.form (nick)
Finalmente, lo que debemos considerar es cómo manejar varios eventos solo en un archivo .asp, como: interfaz de inicio de sesión del cliente, interfaz de chat del cliente. Dado que la primera vez que el cliente solicita el archivo .asp, utiliza un método HTTP Get simple, pero cuando el cliente agrega datos al campo Formulario en la página y envíe el formulario a sí mismo, el archivo .asp se solicitará nuevamente, pero se solicitará nuevamente, pero Esto los datos se pasan a través de HTTP Post. La forma en que se solicita el archivo se puede determinar de dos maneras. Primero, pruebe si la recopilación de request.form contiene miembros. El segundo es usar la variable request.serverVariables (request_method). Si el formulario se solicita a través de HTTP Get, esta variable devuelve Get and Post si se envía el formulario. Dado que este último método es más directo al determinar el método de solicitud de un archivo, usamos el siguiente código para hacer un fallo:
if request.serverVariAbles (request_method) = get entonces
Dado que configuramos el caché ASP, cuando el programa determina que se obtiene el método de solicitud de página, el programa ejecuta la respuesta. programa del programa. De esta manera, podemos usar el mismo archivo .asp para mostrar diferentes interfaces para los clientes de acuerdo con diferentes situaciones.
De acuerdo, te he dicho la parte central de este programa de chat ASP. No hable en el chat, no verá lo que dicen otros clientes. Todos conocen el encanto del chat en Internet. Mejore gradualmente el nivel de este programa de chat para que todos también puedan transmitir la versión oculta de Opera. Nota: Con este programa de chat, puede usarlo para crear una aplicación de chat en su PWS. a través de tu computadora.