• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        ASP 3.0高級編程(二108)

        ASP 3.0高級編程(二108)

        更新時間:2022-05-10 文章作者:未知 信息來源:網絡 閱讀次數:

        6.2.11  Logging Utility組件
               Logging Utility組件是ASP 3.0的新組件,提供了訪問日志文件的方法,這個日志文件是由服務器支持的用于Web和FTP網站的IIS創建的。
        1.  Logging Utility組件的成員
        Logging Utility組件提供了六種方法,能讀取日志文件的內容、把新記錄寫進已存在的日志文件中。這些方法和上一章討論的FileSystemObject對象的方法有相似性,如表6-9所示:
        表6-9  Logging Utility組件的方法及說明
        方 法
        說 明

        AtEndOfLog()
        用ReadLogRecord方法遍歷記錄時,如果文件中的所有記錄都已讀出,返回值為True

        CloseLogFiles(io_mode)
        關閉打開的日志文件,io_mode的值指定要關閉的文件,常數ForReading(1)表示關閉打開供讀出的所有文件, ForWriting(2)表示關閉打開供寫入的所有文件,AllOpenFiles(32)表示關閉打開的所有文件

        OpenLogFile(filename,io_mode,
        service_name,service_instance,
        output_format)
        打開filename指定的日志文件或日志文件集,可選的io_mode參數可以設置成ForReading(缺省值,1)或 ForWriting(2)。當讀取取一個特定的IIS服務(例如“W3SVC”和“1”)時,可選的service_name和 service_instance參數限制從文件中返回的記錄。可選的output_format參數指明寫入文件時使用的格式  

        ReadFilter(start,end)
        當在規定的時間和日期范圍內讀取文件時,限制返回的記錄,兩個參數都是可選的,如果忽略的話,start是文件的第一個記錄,end是最后一個記錄

        ReadLogRecord()
        從用OpenLogFile方法打開的當前日志文件中讀取下一個記錄

        WriteLogRecord(logging_object)
        從打開供讀出的文件中把記錄寫入一個打開供寫入的文件中,參數logging_object是一個引用保存源記錄的 Logging Utility組件實例的對象變量

        Logging Utility組件提供了二十種與IIS日志記錄相對應的屬性,如表6-10所示:
        表6-10  Logging Utility組件的屬性及說明
        屬 性
        說 明

        BytesReceived
        請求時從瀏覽器收到的字節數

        BytesSent
        響應時送至瀏覽器的字節數

        ClientIP
        客戶機或其主機(即代理服務器)的IP地址

        Cookie
        在請求中傳送的cookie內容

        CustumFields
        加到請求中的定制報頭的一個數組

        DataTime
        請求的日期和時間(GMT)

        Method
        操作類型,如“Get”和“Post”

        ProtocolStatus
        返回到客戶機的狀態消息,即“200 OK”

        ProtocolVersion
        協議版本字符串,如“HTTP/1.1”

        Referer
        包含初始化請求鏈接的網頁的URL

        ServerIP
        IIS機器的IP地址

        ServerName
        IIS服務器的機器名

        ServerPort
        請求到達的端口號,如“80”

        ServiceName
        服務器名稱,如“MSFTPSVC”或“W3SVC”

        TimeTaken
        檢索和創建網頁的總處理時間

        URIQuery
        請求中加到URL的查詢字符串中的所有參數

        URIStem
        請示的目標URL

        UserAgent
        由客戶機發送的用戶代理字符串

        UserName
        如果不是匿名地訪問服務器,UserName是用戶的登錄名

        Win32Status
        處理了請求后返回的Win32狀態碼

        2.  使用Logging Utility組件
        Logging Utility組件最普遍的應用是用于對日志文件的自定義查詢。從現有文件中選擇一些記錄寫入新文件的能力,意味著能夠匯總某些類型的條目,或者有選擇性地挑出一些記錄將來使用。
        為了使用ForReading、ForWriting和AllOpenFiles常數,必須在網頁的<HEAD>部分包含METADATA指令。
        <!-- METADATA TYPE="typelib" FILE="C:\WINNT\system32\inetsrv\logscrpt.dll" -- >
        為了遍歷記錄,僅須打開文件并且重復調用ReadLogRecord,直到AtEndOfLog的返回值為True。在下面的例子中將過濾記錄,僅獲得最后24小時以內的記錄。
        'Create the component instance
        Set objLogUtil = Server.CreateObject("MSWC.IISLog")

        'open the log file for reading, for the W3SVC instance number 1
        objLogUtil.OpenLogFile "extend#.log", ForReading, "W3SVC", 1, 0

        'set a filter for the last day's records only
        objLogUtil.ReadFilter DateAdd("d", -1, Now), Now

        'loop through the records
        Do While Not objLogUtil.AtEndOfLog
           objLogUtil.ReadLogRecord  'read the next record
           Response.Write "Request received for page " & objLogUtil.URLStem & " on " _
                           ;   & objLogUtil.DateTime & " from IP address " _
                           ;   & objLogUtil.ClientIP & ".<BR>"
        Loop
        objLogUtil.CloseLogFiles(ForReading)                 'close the file(s)
        本書提供了演示使用Logging Utility組件的一個示例網頁,這個網頁可以從ASP Installable Components主菜單運行。
        確保在Internet Services Manager中不允許匿名訪問包含示例文件的目錄或loggingutility.asp文件,否則將不能訪問日志文件。打開loggingutility.asp文件或包含該文件的目錄的Properties對話框的Directory Security選項卡,點擊 Anonymous access and authentication control部分的Edit按鈕,打開Authentication Method對話框,并關閉 Anonymous access選項。
        必須改變日志文件的文件名以適合你的計算機。在缺省Web網站的Properties對話框的Web Site選項卡中,打開W3C Extended Logging,如圖6-22所示:

        圖6-22  使用Logging Utility組件的設置1
        在這個對話框中,點擊Properties按鈕,打開Extended Logging Properties對話框,在這里會打開要用的文件名。選擇固定大小的日志文件選項,這樣文件名將是extend1.log和extend2.log等等。如圖6-23所示:

        圖6-23  使用Logging Utility組件的設置2
        打開Extended Properties選項卡,確保選中想要的條目,如圖6-24所示:

        圖6-24  使用Logging Utility組件的設置3
        現在可以運行示例網頁并檢查結果,可以使用下列代碼在HTML表中顯示數值。
        <%
        Set objLogUtil = Server.CreateObject("MSWC.IISLog")
        objLogUtil.OpenLogFile "extend#.log", ForReading, "W3SVC", 1, 0
        objLogUtil.ReadFilter DateAdd("d", -1, Now), Now
        %>
        <TABLE CELLPADDING="10">
        <TR>
        <TH>Date/Time</TH>
        <TH>Client IP</TH>
        <TH>Bytes Sent</TH>
        <TH>Target URL</TH>
        </TR>
        <%
        Do While Not objLogUtil.AtEndOfLog
           objLogUtil.ReadLogRecord  'read the next record
        %>
        <TR>
        <TD><% = objLogUtil.DateTime %></TD>
        <TD><% = objLogUtil.ClientIP %></TD>
        <TD><% = objLogUtil.BytesSent %></TD>
        <TD><% = objLogUtil.URLStem %></TD>
        </TR>
        <%
        Loop
        objLogUtil.CloseLogFiles(ForReading)
        %>
        其結果如圖6-25所示:

        圖6-25  使用Logging Utility組件的示例運行結果

        6.3 第三方服務器組件
               在本節中,簡要概述ASP系統中要用到的一些常見的商用和免費的第三方服務器組件。
               開發Web網站時,必須完成的兩個任務是管理兼容性以及向服務器上載文件。下面將介紹的兩個組件能有助于完成上述的任務,而且還介紹另外一個組件,可取代Microsoft的Registry Access組件(該組件一般是從相應的Web網站得到的)。
               在附錄G中,給出了一些最為有用的組件的清單。

        6.3.1 BrowserHawk組件
               很多人使用由IIS及ASP提供的Browser Capability組件時,都會遇到一個麻煩,瀏覽器的定義文件(browscap.ini)要求定期的維護或替換以跟得上新版瀏覽器的要求。
               Cyscape公司提供了broscap.ini的升級版本,同時提供了他們自己的能在服務器端和客戶端進行瀏覽器檢測的組件。而且,還提供了便捷的圖形界面用于查看及修改自己的瀏覽器定義文件,如圖 6-26所示:

        圖6-26  BrowserHawk組件
               可以看到對于每個瀏覽器類型,都有許多屬性,如動態HTML、樣式表、 JavaScript版本、文件上載能力、SSL(Secure Sockets Layer)支持、操作系統細節以及語言等。與Microsoft的 Browser Capability組件一樣,也可以添加自己的內容。這里還有一個非常有用的具有向導風格的特性,能幫助我們把新的瀏覽器類型添加到定義文件中,如圖6-27所示:

        圖6-27  向定義文件添加新瀏覽器的向導
               BrowserHawk組件具有辯認出新的瀏覽器(采用一項特殊的模式匹配算法)以及那些缺省支持的一系列瀏覽器的能力,包括Opera和WebTV。使用過濾功能添加新屬性也很容易。
               當然,BrowserHawk組件的最大優點可能是定期對來自Cyscape公司的Web網站的瀏覽器定義文件新版本進行自動檢測,同時把一些內容吸收合并到當前使用的定義文件里,這意味著沒有必要不斷地將定義文件拷貝到所有的Web服務器中。
               BrowserHawk組件使用起來比較容易,與Browser Capability組件是兼容的,需要做的是在創建組件實例的Server.CreateObject方法或<OBJECT>元素中改變ProgID。把 “MSWC.BrowserType”改為“cyScape.browserObj”。
               Set objBCap = Server.CreateObject(“cyScape.browserObj”)
               對可能出現的問題,應該閱讀BrowserHawk組件的文檔。        可從Cyscape公司的Web網站(http://www.cyscape.com)下載BrowserHawk 的拷貝。本章中已經包含了使用BrowserHawk組件的示例網頁,使讀者能夠了解如何使用BrowserHawk組件,在Chapter06目錄下的BrowserHawk子目錄中可查找到這個示例頁面。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲婷婷国产精品电影人久久 | 久久久久亚洲AV无码专区网站 | 亚洲电影在线免费观看| 成人影片一区免费观看| 亚洲午夜久久久久妓女影院| eeuss影院免费直达入口| 毛茸茸bbw亚洲人| 成人爽a毛片免费| 久久亚洲国产成人精品性色| 国产2021精品视频免费播放| 亚洲一区中文字幕| 免费高清小黄站在线观看| 亚洲爆乳少妇无码激情| 免费在线不卡视频| 三级黄色在线免费观看| 亚洲综合在线观看视频| 无码av免费毛片一区二区| 色天使色婷婷在线影院亚洲| 亚洲日韩人妻第一页| 久久久久久一品道精品免费看| 久久精品国产精品亚洲艾草网| 一个人免费视频观看在线www | 理论秋霞在线看免费| 国产亚洲综合色就色| 国产精品1024永久免费视频| 亚洲免费福利在线视频| 亚洲国产成人久久笫一页| 免费在线观看一级片| 亚洲一区欧洲一区| 久久乐国产精品亚洲综合| 99久热只有精品视频免费看| 亚洲精品亚洲人成在线| 亚洲精品无码午夜福利中文字幕 | 一区在线免费观看| 亚洲综合区图片小说区| 国产又粗又猛又爽又黄的免费视频 | 三上悠亚在线观看免费| 亚洲videos| 亚洲日韩欧洲乱码AV夜夜摸| 91免费精品国自产拍在线不卡| 一级特黄色毛片免费看|