日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

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

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參數限制從文件中返回的記錄?蛇x的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子目錄中可查找到這個示例頁面。

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

本類教程下載

系統下載排行

主站蜘蛛池模板: 成人小视频在线观看 | 91精品国产爱久久久久久 | 91小视频在线 | 日本人五十路 | 在线观看日本免费 | 99热精品一区 | 中文字幕在线观看 | sihu国产精品永久免费 | 亚洲人成在线影院 | 9久久免费国产精品特黄 | 亚洲精品视频区 | 欧美与黑人午夜性猛交久久久 | 草草草草视频 | 青娱乐激情视频 | 亚洲人人精品 | 美国一级特级毛片片aa视频 | 亚洲福利在线观看 | 一区二区成人国产精品 | 伊人精品成人久久综合欧美 | 欧美黑人巨大xxxx | 国产1000部成人免费视频 | 免费视频久久 | 黄色三级免费网站 | 中文字幕高清 | 欧美在线视屏 | 日韩欧美国产亚洲 | 日日干夜夜拍 | 免费的毛片网站 | 色综合亚洲综合网站综合色 | adc欧美成人影院 | 午夜视| 国产大片91精品免费看3 | 一级毛片日本特黄97人人 | 手机看片福利盒子久久青 | 久久爱一区 | 中文精品久久久久国产不卡 | 中文国产成人精品久久96 | 国产高h | 国产欧美日韩在线一区二区不卡 | 中文字幕在线观看第一页 | 极品丰满白嫩肥臀大乳美女 |