Convertir el código ASP en componentes no es solo acelerar el ASP, sino también proteger mejor su propio código. Vamos a escribir un tutorial sobre cómo escribir ASP en DLLS. Sigamos al editor de Error New.
Componentes del lado del servidor
En primer lugar, los componentes del lado del servidor deben ser diferentes de los del lado del cliente. Los componentes del lado del cliente se transmiten a través de la red y confían en HTML para funcionar. Solo pueden ser útiles en IE. Sin embargo, los componentes del lado del servidor se ejecutan en el servidor y realizan varias operaciones en el servidor. Por lo tanto, todos los navegadores pueden disfrutarlo, y se basa en el servidor en lugar del navegador.
Cuando se solicita a IIS que ejecute un programa ASP, primero encontrará el código entre las etiquetas < % %> en el archivo ASP y lo ejecutará (o el código entre <script runat = server> </script>). Si se ha llamado a este programa ASP antes, utilizará el programa compilado en la memoria para devolver el código HTML al usuario. Si no, se volverá a compilar. Aquí, ASP tiene un poco más de ventaja de velocidad que CGI, porque CGI usa un hilo para cada solicitud. Esto consume enormemente los recursos del servidor.
¿Quieres que el programa que escribiste ejecute en IIS solo?! ¡Ahora puedes hacerlo! Usando VB5 (por supuesto, ahora es VB6), puede crear bibliotecas dinámicas vinculadas (archivo DLL), que se puede ejecutar directamente en IIS (si hay un archivo ASP para solicitar).
Requisitos de sistema y software
Necesita un sistema operativo de 32 bits para ejecutar ASP. Por supuesto, también tienes que instalar IIS o PWS. Nuestro siguiente programa se desarrolló en el entorno Windows95+PWS+VB5.
Comencemos
Inicie su VB y seleccione el icono ActiveX. ¡Este ícono se puede encontrar en el nuevo proyecto! VB proporcionará un nombre de proyecto predeterminado (Project1) y nombre de clase (Clase1). Cambiaremos ambos nombres. Antes de cambiar el nombre, primero confirme que tenemos la Biblioteca de objetos de Microsoft Active Server Pages, que es muy útil en nuestros programas. Seleccione "Proyecto" en el menú y seleccione "Referencia" en él, y aparecerá la ventana "Referencia".
Seleccione la biblioteca de objetos de Microsoft Active Server Pages.
Nombre Proyectos y clases
¡Ahora llamemos Project1 y Class1 de acuerdo con nuestros pasatiempos! Nombrarlos también es muy importante. ¡Usaremos este nombre de proyecto y nombre de clase para crear una instancia de este componente en el futuro! Esto se introducirá en detalle más adelante.
¡No quiero decir más sobre cómo cambiar el nombre!
El nombre de nuestro proyecto se cambia al ejemplo y el nombre de la clase es Helloword
Cómo usar ingeniería y clases
Ahora tenemos nuestro propio proyecto (Ejemplo1) y nombre de clase (Helloworld). En el futuro, usaremos sus nombres para hacer referencia a este componente en el código ASP. En ASP lo haremos referencia así, como sigue:
Establecer objreference = server.createObject ("ProjectName.ClassName")
La cita para nuestro proyecto es:
Establecer objreference = server.CreateObject ("Ejemplo1.Helloworld")
Ahora podemos usar Objreference para llamar a la función y la subrutina que creamos en el componente. A continuación, escribiremos una subrutina Sayhello, y nuestro código para ejecutarlo es el siguiente:
(%
Establecer objreference = server.CreateObject ("Ejemplo1.Helloworld")
Objreferencia.sayhello
%>
Para usar los métodos ASP en la clase Helloword, debe escribir una Page OnStart en esta clase
Subfunción. Como sigue:
Public Sub OnStartPage (paseScriptingContext como scriptingcontext)
Establecer myScriptingContext = paseScriptingContext
Final
Ahora, no importa cuándo el usuario acceda a un archivo ASP con este componente, IIS enviará el scriptingcontext a nuestro objeto. Este scriptingcontext incluye todos los métodos y propiedades ASP. En términos de implementación, esto nos permite acceder a todos los objetos ASP. Vea el siguiente código:
Public Sub OnStartPage (paseScriptingContext como scriptingcontext)
Establecer myScriptingContext = paseScriptingContext
Establecer myApplication = myScriptingContext.Application
Establecer myRequest = myScriptingContext.Request
Establecer myResponse = myScriptingContext.Response
Establecer myServer = myScriptingContext.Server
Establecer mysession = myScriptingContext.Session
Final
En el futuro, podemos usar MyApplication en VB en lugar de aplicación en ASP, y de la misma manera, puede reemplazar la solicitud, servidor ..., pero queremos declarar estas variables antes de OnStartPage:
MyScriptingContext privado como ScriptingContext
MyApplication privado como aplicación
MyRequest privado como solicitud
La mirada privada como respuesta
MyServer privado como servidor
MySession privado como sesión
Objetos usando ASP
¡Nuestras variables ahora se pueden usar como objetos ASP estándar! Por ejemplo, a menudo usamos request.form () en ASP para recopilar datos para enviar formularios. Ahora implementamos esta función en nuestro VB, el código es el siguiente:
Implementado en ASP:
(%
MytempVariable = request.form ("nombre de usuario")
Response.write ("usted ingresó" y mytempvariable y "como su nombre de usuario")
%>
Implementado en VB:
MytempVariable = myRequest.form ("nombre de usuario")
MyResponse.Write ("usted ingresó" y mytempvariable y "como su nombre de usuario")
Al usar MyResponse en lugar de respuesta, podemos usar todos los métodos de respuesta. Por supuesto, el nombre MyResponse se puede usar casualmente, e incluso puede elegir la respuesta.
Otra cosa que tenemos que tener en cuenta es que tenemos que escribir la subfunción OnendPage en la clase que creamos, ¡y esta OnStartPage es lo contrario! OnStartPage es crear un objeto, y OnEdPage es destruir el objeto.
Public Sub OnendPage ()
Establecer myScriptingContext = nada
Establecer myApplication = nada
Establecer myRequest = nada
Establecer myResponse = nada
Establecer myServer = nada
Establecer mysession = nada
Final
Método sayhello
Creemos una subfunción para mostrar "Holle World". Este método Sayhello es solo una subfunción en la clase Helloworld. Usaremos el siguiente método para mostrarlo en ASP en el futuro.
(%
Establecer objreference = server.CreateObject ("Ejemplo1.Helloworld")
Objreferencia.sayhello
%>
¡El programa de Sayhello es muy simple!
Public Sub Sayhello ()
MyResponse.write ("Hola mundo")
Final
Ahora que se escribe un componente pequeño, el resto es compilar este componente, guardarlo en el menú "Proyecto" y puede elegir cualquier nombre. ¡Usemos Ejemplo1.vbp! Luego seleccione "Hacer ejemplo1.dll" en el menú y compítelo en un archivo DLL. ¡Un componente está realmente completado!
Tenga en cuenta que si compila este componente, primero debe apagar su PWS y luego compilar este componente. De lo contrario, VB le dirá que algunos componentes están en uso.
Use nuestros propios componentes en ASP.
Cuando corrija el error en la compilación y compile con éxito el proyecto Ejemplo1, debe eliminar su editor HTML favorito y escribir la siguiente declaración y guardarla como un archivo ASP.
〈Html>
〈Cabeza>
〈Título> Ejemplo 1 〈/Título>
〈/Cabeza>
〈Cuerpo>
(%
Establecer objreference = server.CreateObject ("Ejemplo1.Helloworld")
Objreferencia.sayhello
%>
〈/Cuerpo>
〈/Html>
Después de ejecutar, puede ver los resultados:
Hola Mundo
Registrar componentes
Si desea compartir sus componentes con sus amigos y vecinos, debe registrar sus componentes en su sistema. Generalmente usamos regsvr32.exe para registrar componentes. Después del registro, sus componentes aparecerán en el directorio de Windows/Sistema de Win95/Win98. Aquí hay un ejemplo de registro:
Regsvr32.exe c: /example1/example1.dll
En su sistema, VB se registrará automáticamente para usted, por lo que rara vez usa regsvr32.exe
Acabamos de escribir un componente muy pequeño aquí. Puede escribir sus propios componentes más grandes y usar muchos controles en VB.
La clave para escribir DLL de ASP es saber cómo desarrollar componentes DLL. Desarrollar componentes DLL no es un código complicado, y requiere aprender a través de sus propios esfuerzos.