While looking for more information on how Server Side Includes are implemented on IIS servers, I ran across the #exec directive.
<!-- #exec CommandType=CommandDescription-->
#exec allows an HTML page to run an application (ASP application, CGI script, ISAPI application, etc.) or shell command (this is a security risk, use with caution). The output is then displayed on the HTML page.
The standard filename extension which will process this directive is ".stm" but if you configure your server to process .htm or .html for server side includes, it will run the #exec directive also.
This would be useful only in a situation where you really really can't use an asp page for some reason but need to run some server-side code. And can't use AJAX.. Well, maybe this is pretty useless but it's sort of cool.
Example
The set of pages below will execute a simple ASP command and print it to the HTML page.
HTML page "index.htm"
HTML page "test.asp"<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Execute asp code and print result to browser</title>
</head>
<body>
<H3>Inside index.htm</H3>
<!-- #exec CGI="/test/ssi/test.asp?test=this_is_the_request_string" -->
</body>
</html>
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>This is the ASP page</title> </head><body>
<% Response.Write "<BR>Inside test.asp.<BR>" Response.Write "Test = " & Request.QueryString("Test") & ".<BR>" %>
</body> </html>
Ads by Google
Posted by ellen at February 16, 2009 11:39 AM