程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> 用C++Builder開發ISAPI擴展應用程序

用C++Builder開發ISAPI擴展應用程序

編輯:vc教程

一、ISAPI概述 Microsoft的服務器提供了不同的ISAPI,應用ISAPI能夠開發出高性能的應用程序。

ISAPI具有兩類組件:ISAPI擴展和ISAPI過濾器,本文著重介紹ISAPI擴展的應用和開發。

ISAPI應用程序通過DLL實現,DLL的特性使它能夠作為WEB服務器自身的擴充來裝載。在WEB服務器的地址空間運行, 而且只在第一次請求時裝載一次,以後每一個後續請求通過創建一個線程(僅用一個簡單的函數調用) 來完成,這比CGI創建一個進程要節約大量 的時間和空間等資源。

ISAPI擴展通常代替傳統Web應用程序中CGI腳本的位置,由客戶觸發,為其特殊請求服務。

------清單1--------------

1.<html>

2. <img src="myGetGrp.dll">

3.</html>

如清單1所示代碼,服務器將調用myGetGrp.dll中提供的函數得到一GIF圖像文件數據發 送給客戶浏覽器,在這裡,myGetGrp.dll就是一個ISAPI擴展。

如果服務器確定將執行一個ISAPI擴展, 他首先檢查此擴展是否已經裝入高速緩存,若沒有,則指定的DLL被裝載;裝入DLL後,服務器就調用DLL中的HttpExtensionProc()函 數對請求提供服務, 這裡是ISAPI程序員放置具體功能操作的位置,服務器將所有必要 的信息通過一結構類型參數傳遞給這個函數,包括請求本身的內容和程序員將用到的回 調函數等,用回調函數,可以將數據傳遞給用戶以及執行其他的操作。

注意:必須牢記服務器是啟動多線程來處理同時接收到的多個請求的,所以必須正確處理線程間的同步,否則將會導致數據破壞甚至系統崩潰。

二、用C++ Builder開發ISAPI擴展應用程序 C++ Builder是Inprise公司繼Delphi之後開發的又一個通用的客戶/服務器結構的 開發工具。 它使用了C++語言,可以產生更快速和更高效的代碼。目前已成為繼Visual Basic、Delphi之後,在32位Windows環境下最具有吸引力的開發工具之一。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved