stringtranslate.com

Servidor ATL

ATL Server es una tecnología desarrollada originalmente por Microsoft para desarrollar aplicaciones basadas en web . Utiliza un motor de reemplazo de etiquetas escrito en C++ para representar páginas web . Se basa en tecnologías existentes como ISAPI y Active Template Library , e incluye una biblioteca de plantillas dedicada al desarrollo de aplicaciones basadas en Web.

El servidor ATL apareció por primera vez con Visual Studio .NET 2003 . Se incluyó en Visual Studio 2005 pero ya no se admite desde el lanzamiento de Visual Studio 2008 . La mayor parte del código base del servidor ATL se ha publicado como un proyecto de código fuente compartido en CodePlex , un sitio web para compartir código ejecutado por Microsoft.

Una aplicación de servidor ATL típica consta de al menos una DLL de extensión ISAPI junto con uno o varios archivos de respuesta del servidor (.srf) y sus archivos DLL de aplicación asociados que proporcionan la funcionalidad de la aplicación.

Archivos SRF

Los archivos SRF pueden contener una combinación de etiquetas HTML y script. Las etiquetas de secuencia de comandos SRF se indican con las llaves de cierre {{ apertura y }} .

Un único archivo SRF puede llamar al código de varias DLL de aplicaciones. De manera similar, una única DLL de aplicación puede servir a varios archivos SRF.

El archivo SRF más simple debe contener una o más referencias a archivos DLL de aplicaciones y una o más llamadas a funciones dentro de esos archivos DLL. Un archivo SRF simple se vería así:

{{handler ATLServerHelloWorld.dll/Default}}<html><cuerpo>{{Hola Mundo}}</cuerpo></html>

La primera línea del archivo:

{{handler ATLServerHelloWorld.dll/Default}}

se utiliza para identificar la DLL y la clase a la que realizará llamadas el archivo SRF.

Dentro del archivo, las llamadas a funciones tendrían este aspecto:

{{Hola Mundo}}

En el caso anterior, la DLL ATLServerHelloWorld.dll contiene una definición de una clase "predeterminada" como se muestra a continuación:

[ request_handler ( "Predeterminado" )] clase CDefault { ... [ tag_name ( nombre = "HolaMundo" )] HTTP_CODE OnHelloWorld ( void ) { m_HttpResponse << "¡Hola mundo!" ; devolver HTTP_SUCCESS ; } };             

Tenga en cuenta el uso del atributo request_handler en la clase para identificar que esta es la clase "Predeterminada" y también tenga en cuenta el uso del atributo tag_name para identificar el método "HelloWorld".

Referencias

enlaces externos