Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a21b9d840ff53014

Jump to content

ATL Server

From Wikipedia, the free encyclopedia
ATL Server
Written inC++
TypeLibrary or Framework

ATL Server is a technology originally developed by Microsoft for developing web-based applications. It uses a tag replacement engine written in C++ to render web pages. It draws on the existing technologies like ISAPI and the Active Template Library, and includes a template library which is dedicated for use with developing Web-based applications.

ATL Server first appeared with Visual Studio .NET 2003. It was included in Visual Studio 2005 but is no longer supported since the release of Visual Studio 2008. Most of the ATL Server code base has been released as a shared source project on CodePlex, a Microsoft-run code sharing web site.

A typical ATL server application consists of at least one ISAPI extension DLL along with one or a number of Server Response Files (.srf) and their associated application DLL files which provide the application functionality.

SRF files

[edit]

SRF files can contain a mix of HTML and script tags. SRF script tags are denoted by the {{ opening and }} closing braces.

A single SRF file may call code from a number of application DLLs. Similarly, a single application DLL may serve a number of SRF files.

The simplest SRF file must contain one or more references to application DLLs and one or more calls to a functions within those DLLs. A simple SRF file would look something like this:

{{handler ATLServerHelloWorld.dll/Default}}
<html>
<body>
{{HelloWorld}}
</body>
</html>

The first line of the file:

{{handler ATLServerHelloWorld.dll/Default}}

is used to identify the DLL and the class that the SRF file will make calls to.

Within the file, function calls would look like this:

{{HelloWorld}}

In the above case, the ATLServerHelloWorld.dll DLL contains a definition of a "Default" class as shown below:

[request_handler("Default")]
class CDefault
{
    ...
   
    [tag_name(name="HelloWorld")]
    HTTP_CODE OnHelloWorld(void)
    {
        m_HttpResponse << "Hello World!";
        return HTTP_SUCCESS;
    }
};

Note the use of the request_handler attribute on the class to identify that this is the "Default" class and also note the use of tag_name attribute to identify the "HelloWorld" method.

References

[edit]
[edit]