A correction is in order: Two weeks ago we wrote that “the Windows Task Scheduler . . . only allows a minimum repeat interval of 24 hours,” and we were wrong. Despite having used the scheduler several times, we moved too fast to notice the checkbox that reads: “Open advanced properties for this task when I click finish.” Had we done so we would have found that we could schedule down to minutes. Of course we couldn’t schedule “the second Tuesday of every month” but that’s a different complaint.Anyway, last week we started to talk about Microsoft’s Active Server Page (ASP) technology, got into the company’s Internet Server Application Programming Interface (ISAPI) and wound up in a discussion about thread-safe programming. Who could ask for more?In our discussion of thread-safe programming, we covered the issues of race conditions, deadlocks and priority failures but had to stop before we made it to the problem of starvation failures.This final requirement for thread-safe programming is about avoiding the situation that occurs when threads cannot execute within whatever limiting period is required. For example, a thread that provides data to a client (for example, a response to a request from a Web browser) might have to do so before the client (the browser) times out. Starvation occurs when that timeout is exceeded (and the user of the browser gets a 404), because the thread doesn’t get enough time to run to completion and provide a response. So a thread-safe environment is what ISAPI attempts to create to support multiple requests from Web clients to minimize resource usage. Typically, ISAPI is significantly faster than the same process implemented using the Common Gateway Interface (CGI) not only because of threading, but because ISAPI DLLs don’t get loaded and unloaded for each request. CGI, on the other hand, requires a new instance of the CGI application to be loaded when each request is received and then unloaded when it finishes (yes, there is FastCGI but that’s not a great improvement or generally applicable).ISAPI has some interesting advantages over CGI. And one thing that can be done with ISAPI is to create ISAPI filters, custom DLLs that are called for every HTTP request (rather than being called specifically) before the Web server does anything with the request. This means that an ISAPI filter can be used to do anything with HTTP requests that ranges from controlling user access and logging activity to responding to the request in any way you please.ASP is a technology based on ISAPI filtering that is designed for programming Web applications. The ASP ISAPI filter, called ASP.DLL, operates only on pages that have the ASP extension, which it identifies by examining each HTTP request. If the request is for an ASP file, then ASP.DLL gets involved.On receipt of a request for an ASP the ASP module examines the page contents, determines which scripting languages to use, loads the DLLs for the scripting language interpreters, passes the scripts to the interpreters and passes the results (if any) to the Web server to be sent back to the device that made the request.Here’s a simple ASP page, hello.asp: Yo-yo, ding-dong Hello World! The server’s time is now This pathetic piece of code starts off by telling the ASP handler that we’re using VBScript. This is indicated by . Anything in the “” tag is considered to be ASP code.The only thing that this ASP page actually does is to replace the tag “” as the page is interpreted with the server’s time. The result in the requesting browser is a window titled “Yo-yo, ding-dong.” that contains the text “Hello World! The server’s time is now 3:44:53 p.m.”Next week, we’ll try to get more exciting. Requests to gearhead@gibbs.com. Related content news Dell provides $150M to develop an AI compute cluster for Imbue Helping the startup build an independent system to create foundation models may help solidify Dell’s spot alongside cloud computing giants in the race to power AI. By Elizabeth Montalbano Nov 29, 2023 4 mins Generative AI news DRAM prices slide as the semiconductor industry starts to decline TSMC is reported to be cutting production runs on its mature process nodes as a glut of older chips in the market is putting downward pricing pressure on DDR4. By Sam Reynolds Nov 29, 2023 3 mins Flash Storage Flash Storage Technology Industry news analysis Cisco, AWS strengthen ties between cloud-management products Combining insights from Cisco ThousandEyes and AWS into a single view can dramatically reduce problem identification and resolution time, the vendors say. By Michael Cooney Nov 28, 2023 4 mins Network Management Software Network Management Software Networking opinion Is anything useful happening in network management? Enterprises see the potential for AI to benefit network management, but progress so far is limited by AI’s ability to work with company-specific network data and the range of devices that AI can see. By Tom Nolle Nov 28, 2023 7 mins Generative AI Network Management Software Podcasts Videos Resources Events NEWSLETTERS Newsletter Promo Module Test Description for newsletter promo module. Please enter a valid email address Subscribe