Windows Script Components  

Implementar componentes de secuencia de comandos ASP

Mediante un componente de secuencia de comandos puede incluir la funcionalidad ASP (páginas Active Server). De esa forma, se puede aislar una secuencia de comandos de servidor en un componente al que se pueda llamar fácilmente desde páginas ASP y que facilita volver a utilizar el código ASP. Por ejemplo, podría tener varias páginas ASP que procesen formularios. En vez de implementar toda la lógica de proceso de formularios directamente en cada página ASP, las páginas ASP podrían llamar a un componente de secuencia de comandos con lógica de control de formularios que haya creado.

Para crear un componente de secuencia de comandos ASP, cree uno de la forma habitual, como se describe en Contenido de los archivos de componentes de secuencia de comandos. Utilice el elemento <implements> para implementar el controlador de interfaz ASP y establezca el atributo de tipo del elemento <implements> a "ASP." De esta forma, se proporcionan los medios para tener acceso a los objetos ASP: Response, Request, Server, Session y Application. En un componente de secuencia de comandos ASP, puede utilizar estos objetos como lo haría directamente en una página ASP. El controlador de interfaz ASP está incorporado en el módulo en tiempo de ejecución de componentes de secuencia de comandos (Scrobj.dll) por lo que no es necesario ningún controlador de interfaz externo.

Cuando se ejecuta el componente de secuencia de comandos, utiliza el mismo espacio de nombres que la página ASP que lo ha llamado. El componente de secuencia de comandos puede tener acceso a los objetos Request y Server como si estuvieran en la página ASP que lo ha llamado. El componente de secuencia de comandos también tiene acceso a las mismas variables Session y Application que la página ASP que lo ha llamado. De forma parecida, si el componente de secuencia de comandos ASP llama a un método en el objeto Response, el resultado de estas llamadas está disponible en la página que lo ha llamado. Por ejemplo, si llama a Response.Write, el resultado se dirige a la página ASP que llama.

A continuación se muestra un componente de secuencia de comandos ASP sencillo que expone una propiedad y un método. La propiedad applicationVar1 pone a disposición la hipotética variable de Application denominada Var1. El método AddDate inserta la fecha actual en la página ASP que llama.

Nota   Es necesario incluir una sección CDATA para hacer opaca la secuencia de comandos del elemento <script>. Para obtener más información, consulte Archivos de componentes de secuencia de comandos y compatibilidad XML.
<component id="ASPScriptlet">
<registration progid="ASPScriptlet"/>

<public>
   <property name="applicationVar1"/>
   <method name="AddDate"/>
</public>

<implements type="ASP"/>
<script language="VBScript">
<![CDATA[
dim applicationVar1
applicationVar1 = Application("Var1")
Sub AddDate()
   Response.Write(Date)
End Sub
]]>
</script>
</component>

La página ASP que llama podría ser como la siguiente:

<HTML>
<HEAD>
<TITLE>Prueba del controlador ASP de componentes de secuencia de comandos</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<H1>Prueba del controlador ASP</H1>
<%Set wscASP = CreateObject("ASPScriptlet")%>
<P>La fecha actual es <%= wscASP.AddDate()%></P>

<P>El valor de la variable Application(Var1) es <%= wscASP.applicationVar1%></P>

</BODY>
</HTML>
Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com.