LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

改進(jìn)性能和樣式的24個(gè)ASP 技巧

admin
2011年2月16日 10:33 本文熱度 2839
簡(jiǎn)介

技巧 1:在 Web 服務(wù)器上緩存常用數(shù)據(jù)

技巧 2:在 Application 或 Session 對(duì)象中緩存常用數(shù)據(jù)

技巧 3:在 Web 服務(wù)器磁盤(pán)上緩存數(shù)據(jù)和 HTML

技巧 4:避免在 Application 或 Session 對(duì)象中緩存非靈活組件

技巧 5:不要在 Application 或 Session 對(duì)象中緩存數(shù)據(jù)庫(kù)連接

技巧 6:妙用 Session 對(duì)象

技巧 7:在 COM 對(duì)象中封裝代碼

技巧 8:晚點(diǎn)獲取資源,早點(diǎn)釋放資源

技巧 9:進(jìn)程外的執(zhí)行將犧牲可靠性

技巧 10:顯式使用選項(xiàng)

技巧 11:在子例程和函數(shù)中使用局部變量

技巧 12:將常用數(shù)據(jù)復(fù)制到腳本變量

技巧 13:避免重新定義數(shù)組

技巧 14:使用響應(yīng)緩沖

技巧 15:批處理內(nèi)嵌腳本和 Response.Write 語(yǔ)句

技巧 16:在開(kāi)始長(zhǎng)時(shí)間的任務(wù)之前先使用 Response.IsClientConnected

技巧 17:使用 <OBJECT> 標(biāo)記實(shí)例化對(duì)象

技巧 18:使用 ADO 對(duì)象和其他組件的 TypeLib 綁定

技巧 19:利用瀏覽器的驗(yàn)證能力

技巧 20:在循環(huán)中避免字符串串聯(lián)

技巧 21:?jiǎn)⒂脼g覽器和代理緩存

技巧 22:盡可能使用 Server.Transfer 替代 Response.Redirect

技巧 23:在目錄 URL 尾部加斜線(xiàn)

技巧 24:避免使用服務(wù)器變量


--------------------------------------------------------------------------------

簡(jiǎn)介

性能是一個(gè)特性。您需要預(yù)先設(shè)計(jì)性能,或是在日后重新編寫(xiě)應(yīng)用程序。換句話(huà)說(shuō),什么是最大限度優(yōu)化 Active Server Pages (ASP) 應(yīng)用程序性能的好策略?

本文為優(yōu)化 ASP 應(yīng)用程序和"Visual Basic(R) 腳本編輯器 (VBScript)"提供了許多技巧。對(duì)許多陷阱和缺陷進(jìn)行了討論。本文所列的建議均在 http://www.microsoft.com 及其他站點(diǎn)上進(jìn)行了測(cè)試,而且工作正常。本文假定您對(duì) ASP 開(kāi)發(fā)有基本的理解,包括對(duì) VBScript 和/或 JScript、ASP Application、ASP Session 和其他 ASP 內(nèi)部對(duì)象(請(qǐng)求、響應(yīng)和服務(wù)器)。

ASP 的性能,通常不止取決于 ASP 代碼本身。我們并不想在一篇文章中囊括所有的至理名言,只在最后列出與性能相關(guān)的資源。這些鏈接包括 ASP 和非 ASP 主題,包括"ActiveX(R) 數(shù)據(jù)對(duì)象 (ADO)"、"部件對(duì)象模型 (COM)"、數(shù)據(jù)庫(kù)和"Internet 信息服務(wù)器 (IIS)"配置。這些是我們喜歡的鏈接 - 務(wù)請(qǐng)關(guān)注它們。

技巧 1:在 Web 服務(wù)器上緩存常用數(shù)據(jù)

典型的 ASP 頁(yè)從后端數(shù)據(jù)庫(kù)檢索數(shù)據(jù),然后將結(jié)果轉(zhuǎn)換為超文本標(biāo)記語(yǔ)言 (HTML)。無(wú)論數(shù)據(jù)庫(kù)的速度如何,從內(nèi)存檢索數(shù)據(jù)要比從后端數(shù)據(jù)庫(kù)檢索數(shù)據(jù)快得多。從本地硬盤(pán)讀取數(shù)據(jù)通常也要比從數(shù)據(jù)庫(kù)檢索數(shù)據(jù)快得多。因此,通??梢酝ㄟ^(guò)在 Web 服務(wù)器(在內(nèi)存或磁盤(pán))上緩存數(shù)據(jù)來(lái)改善性能。

緩存是典型的空間與時(shí)間的折衷。如果恰當(dāng)?shù)鼐彺鏀?shù)據(jù),您將看到性能會(huì)有驚人的提高。為使緩存發(fā)揮效力,它必須保持經(jīng)常重用的數(shù)據(jù),而且重新計(jì)算這些數(shù)據(jù)的代價(jià)是昂貴的或比較昂貴的。如果緩存充滿(mǎn)了垃圾數(shù)據(jù),則是對(duì)存儲(chǔ)器的浪費(fèi)。

不經(jīng)常變化的數(shù)據(jù)也是緩存的候選數(shù)據(jù),因?yàn)槟鸁o(wú)須擔(dān)心數(shù)據(jù)與數(shù)據(jù)庫(kù)的同步問(wèn)題。組合框、引用表、DHTML 碎片、可擴(kuò)展標(biāo)記語(yǔ)言 (XML) 字符串、菜單項(xiàng)和站點(diǎn)配置變量(包括數(shù)據(jù)源名稱(chēng) (DSN)、Internet 協(xié)議 (IP) 地址和 Web 路徑)都是緩存的候選數(shù)據(jù)。注意,您可以緩存數(shù)據(jù)的表示而不是數(shù)據(jù)本身。如果 ASP 頁(yè)不經(jīng)常更改,而且緩存的成本也非常高(例如,整個(gè)產(chǎn)品目錄),請(qǐng)考慮預(yù)先生成 HTML,而不是在每次請(qǐng)求時(shí)重新繪制。

數(shù)據(jù)應(yīng)緩存在何處,有哪些緩存策略?數(shù)據(jù)經(jīng)常緩存在 Web 服務(wù)器內(nèi)存或 Web 服務(wù)器磁盤(pán)上。下面兩個(gè)技巧討論這些選項(xiàng)。

技巧 2:在 Application 或 Session 對(duì)象中緩存常用數(shù)據(jù)

ASP Application 和 Session 對(duì)象為在內(nèi)存中緩存數(shù)據(jù)提供了方便的容器。既可以將數(shù)據(jù)賦予 Application 對(duì)象,也可將數(shù)據(jù)賦予 Session 對(duì)象,這些數(shù)據(jù)在 HTTP 調(diào)用中將保留在內(nèi)存中。Session 數(shù)據(jù)按用戶(hù)存儲(chǔ),而 Application 數(shù)據(jù)在所有用戶(hù)間共享。

何時(shí)將數(shù)據(jù)載入 Application 或 Session?通常,在 Application 或 Session 啟動(dòng)時(shí)加載數(shù)據(jù)。要在 Application 或 Session 啟動(dòng)時(shí)加載數(shù)據(jù),請(qǐng)?jiān)谙旅鎯珊瘮?shù)中添加相應(yīng)的代碼:
Application_OnStart()

Session_OnStart()
。這兩個(gè)函數(shù)應(yīng)該位于 Global.asa;如果沒(méi)有,可以添加這些函數(shù)。也可以在第一次需要數(shù)據(jù)時(shí)加載數(shù)據(jù)。要進(jìn)行上述操作,請(qǐng)?jiān)?ASP 頁(yè)中添加一些代碼(或編寫(xiě)可重用的腳本函數(shù)),這些代碼檢查數(shù)據(jù)是否存在,并在數(shù)據(jù)不存在時(shí)加載數(shù)據(jù)。這是稱(chēng)為遲緩計(jì)算的經(jīng)典性能技術(shù)的例子 - 在您的確需要它之前,不進(jìn)行計(jì)算。請(qǐng)看例子:

<%
Function GetEmploymentStatusList
Dim d
d = Application("EmploymentStatusList")
If d = "" Then
‘' FetchEmploymentStatusList 函數(shù)(不顯示)
‘' 從 DB 中取出數(shù)據(jù),返回?cái)?shù)組
d = FetchEmploymentStatusList()
Application("EmploymentStatusList") = d
End If
GetEmploymentStatusList = d
End Function
%>

可以為每一塊所需的數(shù)據(jù)編寫(xiě)類(lèi)似的函數(shù)。

數(shù)據(jù)應(yīng)該以什么格式存儲(chǔ)?任何變量類(lèi)型均可存儲(chǔ),因?yàn)樗心_本變量是各不相同的。例如,可以存儲(chǔ)字符串、整型或數(shù)組。通常,您將以這些變量類(lèi)型之一存儲(chǔ) ADO 記錄集的內(nèi)容。若要獲取 ADO 記錄集衍生的數(shù)據(jù),可以手工將數(shù)據(jù)復(fù)制到 VBScript 變量中,每次一個(gè)字段。使用一個(gè) ADO 記錄集保留函數(shù) GetRows()、GetString() 或 Save() (ADO 2.5),會(huì)更快更簡(jiǎn)便。完整而詳細(xì)的內(nèi)容已超出了本文的范圍。下面的演示函數(shù)使用了
GetRows()
來(lái)返回記錄集數(shù)據(jù)的數(shù)組:

‘' 取記錄集,以數(shù)組返回
Function FetchEmploymentStatusList
Dim rs
Set rs = createObject("ADODB.Recordset")
rs.Open "select StatusName, StatusID from EmployeeStatus", _
"dsn=employees;uid=sa;pwd=;"
FetchEmploymentStatusList = rs.GetRows() ‘' 以數(shù)組返回?cái)?shù)據(jù)
rs.Close
Set rs = Nothing
End Function

對(duì)上面示例的進(jìn)一步改進(jìn)應(yīng)當(dāng)是緩存該列表的 HTML,而不是緩存數(shù)組。下面是一個(gè)簡(jiǎn)單的范例:

‘' 取記錄集,以"HTML 選項(xiàng)"列表返回
Function FetchEmploymentStatusList
Dim rs, fldName, s
Set rs = createObject("ADODB.Recordset")
rs.Open "select StatusName, StatusID from EmployeeStatus", _
"dsn=employees;uid=sa;pwd=;"
s = "<select name=""EmploymentStatus">" & vbCrLf
Set fldName = rs.Fields("StatusName") ‘' ADO 字段綁定
Do Until rs.EOF
‘' 下面一行違背了不要進(jìn)行字符串連接,
‘' 但這是可以的,因?yàn)槲覀冋诮⒏咚倬彺?
s = s & " <option>" & fldName & "</option>" & vbCrLf
rs.MoveNext
Loop
s = s & "</select>" & vbCrLf
rs.Close
Set rs = Nothing ‘' 參見(jiàn)盡早釋放
FetchEmploymentStatusList = s ‘' 以字符串返回?cái)?shù)據(jù)
End Function

在正常的情況下,可以在 Application 或 Session 作用域中緩存 ADO 記錄集本身。有兩個(gè)警告:

ADO 必須為標(biāo)記的自由線(xiàn)程
必須使用斷開(kāi)連接的記錄集。
如果不能保證滿(mǎn)足這兩個(gè)要求,請(qǐng)不要緩存 ADO 記錄集。在下面的非靈活組件和不要緩存連接技巧中,我們將討論在 Application 或 Session 作用域中存儲(chǔ) COM 對(duì)象的危險(xiǎn)。

如果在 Application 或 Session 作用域中存儲(chǔ)數(shù)據(jù),這些數(shù)據(jù)將一直保留在那兒,直到在程序中改變它、Session 過(guò)期或 Web 應(yīng)用程序重新啟動(dòng)時(shí)為止。數(shù)據(jù)需要更新如何處理?若要用手工強(qiáng)制更新應(yīng)用程序數(shù)據(jù),可以調(diào)用只允許管理員訪(fǎng)問(wèn)的數(shù)據(jù)更新 ASP 頁(yè)。另外,還可以通過(guò)函數(shù),周期地自動(dòng)刷新數(shù)據(jù)。下面的示例存儲(chǔ)帶緩存數(shù)據(jù)的時(shí)間戳,在指定時(shí)間間隔后刷新數(shù)據(jù)。

<%
‘' 未顯示錯(cuò)誤處理...
Const update_INTERVAL = 300 ‘' 刷新時(shí)間間隔,以秒計(jì)

‘' 函數(shù)返回雇傭狀態(tài)列表
Function GetEmploymentStatusList
updateEmploymentStatus
GetEmploymentStatusList = Application("EmploymentStatusList")
End Function

‘' 定期更新緩存的數(shù)據(jù)
Sub updateEmploymentStatusList
Dim d, strLastupdate
strLastupdate = Application("Lastupdate")
If (strLastupdate = "") or _
(update_INTERVAL DateDiff("s", strLastupdate, Now)) Then

‘' 注意:此處可能有兩個(gè)或多個(gè)調(diào)用。這是可以的,只不過(guò)
‘' 產(chǎn)生幾個(gè)不必要的取指令罷了(就此有一個(gè)工作區(qū))

‘' FetchEmploymentStatusList 函數(shù)(不顯示)
‘' 從 DB 中取數(shù)據(jù),返回一個(gè)數(shù)組
d = FetchEmploymentStatusList()

‘' 更新 Application 對(duì)象。用 Application.Lock()
‘' 來(lái)確保一致的數(shù)據(jù)
Application.Lock
Application("EmploymentStatusList") = d
Application("Lastupdate") = CStr(Now)
Application.Unlock
End If
End Sub

其他示例,請(qǐng)參閱具有 Application 數(shù)據(jù)的最快列表框(英文)。

請(qǐng)注意,在 Session 或 Application 對(duì)象中緩存大型數(shù)組并非上策。在訪(fǎng)問(wèn)數(shù)組元素之前,腳本語(yǔ)言的語(yǔ)法要求建立整個(gè)數(shù)組的臨時(shí)副本。例如,如果在 Application 對(duì)象中緩存了將美國(guó)郵政編碼映射到本地氣象站的字符串?dāng)?shù)組,該字符串?dāng)?shù)組有 100,000 個(gè)元素,ASP 在找出一個(gè)字符串之前,必須將所有 100,000 個(gè)氣象站復(fù)制到臨時(shí)數(shù)組中。在這種情況下,建立帶自定義方法的自定義組件,來(lái)存儲(chǔ)氣象站 - 或使用一個(gè)字典組件,也許更好。

請(qǐng)不要在倒洗澡水時(shí)把孩子一同倒掉,對(duì)這種觀點(diǎn)的一個(gè)新的注解是:數(shù)組提供了對(duì)內(nèi)存中相鄰關(guān)鍵-數(shù)據(jù)對(duì)的快速查找和存儲(chǔ)。索引字典比索引數(shù)組要慢。您應(yīng)該根據(jù)具體情況選擇能夠提供最佳性能的數(shù)據(jù)結(jié)構(gòu)。

技巧 3:在 Web 服務(wù)器磁盤(pán)上緩存數(shù)據(jù)和 HTML

有時(shí),數(shù)據(jù)過(guò)多不能在內(nèi)存中進(jìn)行緩存。"過(guò)多"是一種定性的判斷;它取決于打算消耗的內(nèi)存量,還有緩存項(xiàng)的數(shù)量和這些項(xiàng)的檢索頻率??傊?,如果有過(guò)多的數(shù)據(jù)要在內(nèi)存中緩存,請(qǐng)考慮以文本或 XML 文件的形式,在 Web 服務(wù)器的硬盤(pán)上緩存數(shù)據(jù)??梢詫⒃诖疟P(pán)上緩存數(shù)據(jù)和在內(nèi)存中緩存數(shù)據(jù)組合起來(lái),為站點(diǎn)建立最優(yōu)的緩存策略。

注意,在度量單個(gè) ASP 頁(yè)的性能時(shí),在磁盤(pán)上檢索數(shù)據(jù)不一定比從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)快。但是,緩存減輕了數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)的負(fù)荷。在高負(fù)荷情況下,這將明顯提高總體通信量。在查詢(xún)成本很高時(shí)緩存查詢(xún)的結(jié)果,緩存便非常有效,例如多表聯(lián)合或復(fù)雜的存儲(chǔ)過(guò)程,或緩存大型的結(jié)果集。按照慣例,測(cè)試競(jìng)爭(zhēng)方案。

ASP 和 COM 提供了幾種構(gòu)建磁盤(pán)緩存方案的工具。ADO 記錄集的 Save() 和 Open() 函數(shù),保存和加載磁盤(pán)上的記錄集。您可以使用這些方法重寫(xiě)上面 Application 數(shù)據(jù)緩存技巧中的范例代碼,用 Save() 文件替換向 Application 對(duì)象寫(xiě)入數(shù)據(jù)的代碼。

還有其他一些處理文件的組件:

Scripting.FileSystemObject 使您能夠創(chuàng)建、讀取和寫(xiě)入文件。
MSXML 是隨 Internet Explorer 提供的 Microsoft(R) XML 解析器,它支持保存和加載 XML 文檔。
LookupTable 對(duì)象(在 MSN 上使用的范例)是從磁盤(pán)加載簡(jiǎn)單列表的良好選擇。
最后,請(qǐng)考慮在磁盤(pán)上緩存數(shù)據(jù)的表示,而不是數(shù)據(jù)本身。預(yù)制的 HTML 可以作為 .htm 或 .asp 文件存儲(chǔ)在磁盤(pán)上;超級(jí)鏈接可以直接指向這些文件??梢允褂蒙虡I(yè)工具,如 XBuilder 或 Microsoft(R) SQL Server 的 Internet 發(fā)行功能來(lái)自動(dòng)化 HTML 生成過(guò)程。另外,可以將 HTML 片段 #include 到 .asp 文件。還可以使用 FileSystemObject 從磁盤(pán)讀取 HTML 文件或使用 XML 進(jìn)行早期調(diào)整(英文)。

技巧 4:避免在 Application 或 Session 對(duì)象中緩存非靈活組件

雖然在 Application 或 Session 對(duì)象中緩存數(shù)據(jù)是個(gè)好主意,但是緩存 COM 對(duì)象可能有嚴(yán)重缺陷。將常用 COM 對(duì)象嵌入 Application 或 Session 對(duì)象通常具有吸引力。遺憾的是,很多 COM 對(duì)象,包括用 Visual Basic 6.0 或更早版本編寫(xiě)的 COM 對(duì)象,在 Application 或 Session 對(duì)象中存儲(chǔ)時(shí)將導(dǎo)致嚴(yán)重的瓶頸。

特別是任何非靈活組件,在 Session 或 Application 對(duì)象中緩存時(shí)將導(dǎo)致性能瓶頸。靈活組件是標(biāo)記為
ThreadingModel=Both
的組件(它聚集了自由線(xiàn)程匯集器 (FTM))或標(biāo)記為
ThreadingModel=Neutral
的組件(Windows(R) 2000 和 COM+ 中新增的"中性"模型。)下列組件是非靈活的:

自由線(xiàn)程組件(除非它們聚集了 FTM)。
單元線(xiàn)程組件。
單線(xiàn)程組件。
已配置組件(Microsoft Transaction Server (MTS)/COM+ 庫(kù)和服務(wù)器包/應(yīng)用程序)為非靈活組件,除非它們是"中性"線(xiàn)程的。單元線(xiàn)程組件和其他非靈活組件最適于在頁(yè)作用域工作(也就是說(shuō),它們?cè)趩蝹€(gè) ASP 頁(yè)上創(chuàng)建和銷(xiāo)毀)。

在 IIS 4.0 中,標(biāo)記為
ThreadingModel=Both
的組件被視為靈活的。在 IIS 5.0 中,這已經(jīng)不夠了。組件不僅必須標(biāo)記為 Both,而且還必須聚集 FTM。靈活性文章說(shuō)明了如何使得用"活動(dòng)模板庫(kù)"編寫(xiě)的 C++ 組件聚集 FTM。請(qǐng)注意,如果組件緩存接口指針,這些指針本身必須為靈活的、或者必須存儲(chǔ)在"COM 全局接口表 (GIT)"中。如果不能重新編譯 Both 線(xiàn)程組件,使它聚集 FTM,則可以將該組件標(biāo)記為
ThreadingModel=Neutral
。另外,如果不希望 IIS 進(jìn)行靈活性檢查(這樣,希望非靈活組件能夠存儲(chǔ)在 Application 或 Session 作用域中),可以在 metabase 中設(shè)置
AspTrackThreadingModel

True
。不主張更改
AspTrackThreadingModel
。

如果試圖在 Application 對(duì)象中存儲(chǔ)用
Server.createObject
創(chuàng)建的非靈活組件,IIS 5.0 將產(chǎn)生錯(cuò)誤??梢酝ㄟ^(guò)在 Global.asa 中使用
<object runat=server scope=application ...>
解決該問(wèn)題,但是不主張這樣做,因?yàn)檫@將導(dǎo)致匯集和串行化,說(shuō)明如下。

如果緩存非靈活組件,會(huì)發(fā)生什么錯(cuò)誤呢?緩存在 Session 對(duì)象中的非靈活組件,將把會(huì)話(huà)"鎖定"到某個(gè) ASP 工作器線(xiàn)程。ASP 維護(hù)著一個(gè)工作器線(xiàn)程池,它向請(qǐng)求提供服務(wù)。通常,新的請(qǐng)求由第一個(gè)可用的工作器線(xiàn)程來(lái)處理。如果 Session 被鎖定到某個(gè)線(xiàn)程,則該請(qǐng)求將不得不等待它所關(guān)聯(lián)的線(xiàn)程變?yōu)榭捎?。打個(gè)比方:您進(jìn)入一個(gè)超市,挑選了一些食品,然后在第 3 號(hào)收款臺(tái)交款。從這以后,每當(dāng)您在這個(gè)超市購(gòu)買(mǎi)食品,都不得不始終在第 3 號(hào)收款臺(tái)交款,即使是在其他收款臺(tái)人少或沒(méi)人時(shí)。

將非靈活組件存儲(chǔ)在 Applicaton 作用域甚至?xí)?duì)性能產(chǎn)生更嚴(yán)重的影響。ASP 將不得不創(chuàng)建專(zhuān)用的線(xiàn)程來(lái)運(yùn)行非靈活的、Applicaton 作用域內(nèi)的組件。這將導(dǎo)致兩種后果:所有調(diào)用不得不被匯集到該線(xiàn)程,而且所有調(diào)用被串行化。匯集意味著:參數(shù)不得不存儲(chǔ)在內(nèi)存的共享區(qū);對(duì)該專(zhuān)用線(xiàn)程執(zhí)行昂貴的上下文切換;組件的方法被執(zhí)行;結(jié)果匯集到共享區(qū)域;以及經(jīng)過(guò)另一個(gè)昂貴的上下文切換,使控制權(quán)返回原來(lái)的線(xiàn)程。串行化意味著所有方法必須一個(gè)挨一個(gè)地運(yùn)行(同一時(shí)刻只能運(yùn)行一個(gè)方法)。兩個(gè)不同的 ASP 工作器線(xiàn)程不可能同時(shí)執(zhí)行共享組件上的方法。這將扼殺并行機(jī)制,尤其是在多處理器計(jì)算機(jī)上。更壞的是,所有非靈活的、Application 作用域內(nèi)的組件都將共享一個(gè)線(xiàn)程("Host STA"),所以串行化的影響更加嚴(yán)重。

是否感到困惑?下面我們提出幾個(gè)通用規(guī)則。如果您正在用 Visual Basic (6.0) 或更早版本編寫(xiě)對(duì)象,請(qǐng)不要將它們緩存在 Application 或 Session 對(duì)象中。如果您不知道對(duì)象的線(xiàn)程模型,就不要緩存它。不要緩存非靈活對(duì)象,而應(yīng)當(dāng)在每頁(yè)上創(chuàng)建并釋放它們。對(duì)象將直接運(yùn)行在 ASP 工作器線(xiàn)程上,這樣,將不會(huì)發(fā)生匯集或串行化。如果 COM 對(duì)象正運(yùn)行在 IIS 框中,而且如果它們沒(méi)有花很長(zhǎng)時(shí)間來(lái)初始化和取消,性能將是足夠的。注意,不要用該方法使用單線(xiàn)程對(duì)象。小心:VB 可以創(chuàng)建單線(xiàn)程的對(duì)象!如果您必須以該方式使用單線(xiàn)程的對(duì)象(如 Microsoft Excel 電子表格),則不要期望有很高的吞吐量。

當(dāng) ADO 被標(biāo)記為自由線(xiàn)程時(shí),則緩存 ADO 記錄集是安全的。要將 ADO 標(biāo)記為自由線(xiàn)程,請(qǐng)使用 Makfre15.bat 文件,該文件通常位于如下目錄中:\\Program Files\Common\System\ADO。

警告: 如果您正在用 Microsoft Access 作為數(shù)據(jù)庫(kù),則不應(yīng)當(dāng)將 ADO 標(biāo)記為自由線(xiàn)程。通常,ADO 記錄集還必須是斷開(kāi)連接的,如果您不能控制站點(diǎn)的 ADO 配置(例如,您是獨(dú)立的軟件廠商 [ISV],將 Web 應(yīng)用程序賣(mài)給客戶(hù),然后由他們來(lái)管理他們自己的配置),那么不緩存記錄集可能會(huì)更好。

詞典組件也是靈活對(duì)象。LookupTable 從數(shù)據(jù)文件加載它的數(shù)據(jù),并且它對(duì)組合框數(shù)據(jù)和配置信息是有用的。來(lái)自 Duwamish Books 的 PageCache 對(duì)象提供了目錄語(yǔ)義,和 Caprock Dictionary 的表現(xiàn)一樣。這些對(duì)象或它們的派生對(duì)象可以構(gòu)成有效緩存策略的基礎(chǔ)。注意,Scripting.Dictionary 對(duì)象不是靈活的,所以不應(yīng)當(dāng)存儲(chǔ)在 Application 或 Session 作用域。

技巧 5:不要在 Application 或 Session 對(duì)象中緩存數(shù)據(jù)庫(kù)連接

緩存 ADO 連接通常是不好的策略。如果一個(gè) Connection 對(duì)象存儲(chǔ)在 Application 中,并在所有頁(yè)上使用,那么所有頁(yè)將競(jìng)爭(zhēng)使用該連接。如果 Connection 對(duì)象存儲(chǔ)在 ASP Session 對(duì)象中,那么將為每個(gè)用戶(hù)創(chuàng)建數(shù)據(jù)庫(kù)連接。這將連接池的好處毀于一旦,并對(duì) Web 服務(wù)器和數(shù)據(jù)庫(kù)產(chǎn)生不必要的壓力。

取代緩存數(shù)據(jù)庫(kù)連接的方法是,在每個(gè)使用 ADO 的 ASP 頁(yè)上創(chuàng)建并取消 ADO 對(duì)象。這是個(gè)有效的方法,因?yàn)?IIS 具有內(nèi)置的數(shù)據(jù)庫(kù)連接池。更準(zhǔn)確的說(shuō),IIS 自動(dòng)啟用 OLEDB 和 ODBC 連接池。這確保了創(chuàng)建并取消每個(gè)頁(yè)上的連接將是有效的。

由于被連接的記錄集中存儲(chǔ)有對(duì)數(shù)據(jù)庫(kù)連接的引用,所以,不應(yīng)當(dāng)在 Application 或 Session 對(duì)象中緩存被連接的記錄集。但是,可以安全地緩存斷開(kāi)連接的記錄集,因?yàn)樗话瑢?duì)其數(shù)據(jù)連接的引用。要斷開(kāi)記錄集的連接,請(qǐng)執(zhí)行如下兩個(gè)步驟:

Set rs = Server.createObject("ADODB.RecordSet")
rs.CursorLocation = adUseClient ‘' 第 1 步

‘' 植入帶數(shù)據(jù)的記錄集
rs.Open strQuery, strProv

‘' 現(xiàn)在斷開(kāi)記錄集同數(shù)據(jù)提供者和數(shù)據(jù)源的連接
rs.ActiveConnection = Nothing ‘' 第 2 步

有關(guān)連接池的詳細(xì)信息,請(qǐng)參閱 ADO 和 SQL Server(英文)引用。

技巧 6:妙用 Session 對(duì)象

在肯定了在 Applications 和 Sessions 中緩存的優(yōu)點(diǎn)之后,我們建議您避免使用 Session 對(duì)象。下面將會(huì)談到,當(dāng)用于忙碌站點(diǎn)時(shí),Sessions 有幾個(gè)缺點(diǎn)。所謂忙碌,通常是指站點(diǎn)每秒請(qǐng)求數(shù)百頁(yè)或同時(shí)有數(shù)千個(gè)用戶(hù)。該技巧對(duì)于必須進(jìn)行水平擴(kuò)展的站點(diǎn),即那些利用多個(gè)服務(wù)器來(lái)適應(yīng)負(fù)載或執(zhí)行容錯(cuò)功能的站點(diǎn)來(lái)說(shuō),更加重要。對(duì)于較小的站點(diǎn),如 intranet 站點(diǎn),Sessions 的便利,與開(kāi)銷(xiāo)相比也是值得的。

為了翻新,ASP 自動(dòng)為每個(gè)訪(fǎng)問(wèn) Web 服務(wù)器的用戶(hù)創(chuàng)建一個(gè) Session。每個(gè) Session 有大約 10 KB 內(nèi)存開(kāi)銷(xiāo)(在存儲(chǔ)在 Session 中的任何數(shù)據(jù)中是最高的),并使所有的請(qǐng)求都慢了一點(diǎn)。Session 一直保持活動(dòng)狀態(tài),直到達(dá)到可配置的超時(shí)(通常 20 分鐘)為止。

Session 最大的問(wèn)題不是性能而是可伸縮性。Session 不能跨越 Web 服務(wù)器;一旦在一個(gè)服務(wù)器上創(chuàng)建了 Session,它的數(shù)據(jù)就保持在那里。這意味著,如果您在 Web 領(lǐng)域中使用 Sessions,您將不得不為每個(gè)用戶(hù)的請(qǐng)求設(shè)計(jì)一種策略,以便始終將這些請(qǐng)求引向用戶(hù)的 Session 所在的服務(wù)器。這被稱(chēng)為將用戶(hù)"粘"到 Web 服務(wù)器上。術(shù)語(yǔ)"粘性會(huì)話(huà)"即來(lái)源于此。由于 Session 沒(méi)有保持到磁盤(pán)上,所以,當(dāng) Web 服務(wù)器崩潰時(shí),被"粘住"的用戶(hù)將丟失他們的 Sessions 狀態(tài)。

用于實(shí)施粘性會(huì)話(huà)的策略包括硬件和軟件解決方案。如 Windows 2000 Advanced Server 中的網(wǎng)絡(luò)負(fù)載平衡解決方案和 Cisco 公司的"本地指向器"解決方案可以實(shí)施粘性會(huì)話(huà),但以犧牲一些可伸縮性為代價(jià)。這些解決方案并不完美。我們不主張您現(xiàn)在全盤(pán)推翻您的軟件解決方案(我們過(guò)去常用 ISAPI 篩選器和 URL 矯直對(duì)方案進(jìn)行檢查)。

Application 對(duì)象也不能跨越服務(wù)器;如果您需要在 Web 領(lǐng)域內(nèi)共享并更新 Application 數(shù)據(jù),則需要使用后端數(shù)據(jù)庫(kù)。但只讀的 Application 數(shù)據(jù)在 Web 領(lǐng)域中仍然有用。

如果只是為了增加正常運(yùn)行時(shí)間(用于處理故障轉(zhuǎn)移和服務(wù)器維護(hù)),大多數(shù)執(zhí)行重要任務(wù)的站點(diǎn)將需要部署至少兩臺(tái) Web 服務(wù)器。所以,在設(shè)計(jì)執(zhí)行重要任務(wù)的應(yīng)用程序時(shí),您將需要實(shí)施"粘性會(huì)話(huà)",或者簡(jiǎn)單地避開(kāi) Sessions 以及其他任何在單個(gè) Web 服務(wù)器上存儲(chǔ)用戶(hù)狀態(tài)的狀態(tài)管理技術(shù)。

如果當(dāng)前沒(méi)有使用 Sessions,請(qǐng)確保將它們關(guān)閉??梢酝ㄟ^(guò)"Internet 服務(wù)管理器"(請(qǐng)參閱 ISM 文檔)來(lái)為應(yīng)用程序執(zhí)行該操作。如果決定使用 Sessions,可以采取幾個(gè)方法來(lái)將對(duì)性能的影響降低到最小。

可以將不需要 Sessions 的內(nèi)容(如"幫助"屏幕、訪(fǎng)問(wèn)者區(qū)域等)移動(dòng)到關(guān)閉了 Sessions 的、單獨(dú)的 ASP 應(yīng)用程序中。可以逐頁(yè)提示 ASP:在給定的頁(yè)中您不需要 Session 對(duì)象;使用位于 ASP 頁(yè)頂端的如下指令:

<% @EnableSessionState=False %>

使用該指令的一個(gè)很好的原因是,Session 給框架集帶來(lái)了有趣的問(wèn)題。ASP 保證任何時(shí)候只執(zhí)行一個(gè)來(lái)自 Session 的請(qǐng)求。這樣可以確保如果瀏覽器為一個(gè)用戶(hù)請(qǐng)求了多個(gè)頁(yè)時(shí),在每一時(shí)刻只有一個(gè) ASP 請(qǐng)求將進(jìn)入 Session;這就避免了在訪(fǎng)問(wèn) Session 對(duì)象時(shí)出現(xiàn)多線(xiàn)程問(wèn)題。遺憾的是,結(jié)果,框架集中的所有頁(yè)均被以串行化方式繪制,一個(gè)接一個(gè)地,而不是同時(shí)地。這樣,用戶(hù)可能不得不等待很長(zhǎng)時(shí)間才能得到所有框架內(nèi)容。這意味著:如果某些框架頁(yè)不信任 Session,一定要使用
@EnableSessionState=False
指令告訴 ASP。

作為使用 Session 對(duì)象的替代方式,有很多方法可以用來(lái)管理 Session 狀態(tài)。對(duì)于狀態(tài)數(shù)量較小的情況(不到 4 KB),通常建議使用 Cookies、QueryString 變量和隱藏形式的變量。對(duì)于較大數(shù)量的數(shù)據(jù),如購(gòu)物推車(chē),則使用后端數(shù)據(jù)庫(kù)是最合適的選擇。關(guān)于在 Web 服務(wù)器領(lǐng)域中的狀態(tài)管理技術(shù)已經(jīng)有很多資料。詳細(xì)信息,請(qǐng)參閱 會(huì)話(huà)狀態(tài)(英文)。

技巧 7:在 COM 對(duì)象中封裝代碼

如果您有很多 VBScript 或 JScript,那么您可以通過(guò)把代碼移動(dòng)到已編譯的 COM 對(duì)象來(lái)經(jīng)常改進(jìn)它們的性能。已編譯的代碼通常比被解釋代碼運(yùn)行得更快。已編譯的 COM 對(duì)象可以通過(guò)"早期綁定"訪(fǎng)問(wèn)其他 COM 對(duì)象,這種調(diào)用 COM 對(duì)象方法的手段,比腳本所使用的"后期綁定"更有效。

將代碼封裝在 COM 對(duì)象種有如下好處(超越性能):

COM 對(duì)象是將表達(dá)邏輯與業(yè)務(wù)邏輯分隔開(kāi)來(lái)的好辦法。
COM 對(duì)象啟用了代碼重用。
很多開(kāi)發(fā)商發(fā)現(xiàn),用 VB、C++ 或 Visual J++ 書(shū)寫(xiě)的代碼,比 ASP 更容易調(diào)試。
COM 對(duì)象有一些缺點(diǎn),包括初始開(kāi)發(fā)時(shí)間以及需要不同的編程技巧。需要警告您的是,封裝"少"量的 ASP 可能會(huì)導(dǎo)致性能降低,而不是提高。通常,在少量 ASP 代碼封裝到 COM 對(duì)象時(shí)出現(xiàn)這樣的情況。這時(shí)候,創(chuàng)建和調(diào)用 COM 對(duì)象的開(kāi)銷(xiāo),超過(guò)了已編譯代碼的好處。至于 ASP 腳本和 COM 對(duì)象代碼怎樣合并才能產(chǎn)生最佳性能還有待測(cè)試。注意,與 Windows NT(R) 4.0/IIS 4.0 相比,Microsoft 已經(jīng)在 Windows 2000/IIS 5.0 中極大地提高了腳本和 ADO 性能。這樣,已編譯代碼對(duì) ASP 代碼的性能優(yōu)勢(shì)已經(jīng)隨著 IIS 5.0 的引入而降低。

有關(guān)在 ASP 中使用 COM 對(duì)象的優(yōu)缺點(diǎn)的更多討論,請(qǐng)參閱 ASP 組件準(zhǔn)則和用 COM 和 Microsoft Visual Basic 6.0 對(duì)分布式應(yīng)用程序進(jìn)行編程(英文)。如果您的確部署了 COM 組件,要對(duì)它們進(jìn)行強(qiáng)度測(cè)試是非常重要的。實(shí)際上,所有 ASP 應(yīng)用程序都應(yīng)當(dāng)作為正式過(guò)程進(jìn)行強(qiáng)度測(cè)試。

技巧 8:晚點(diǎn)獲取資源,早點(diǎn)釋放資源

這是個(gè)小技巧。通常,最好晚點(diǎn)獲取資源而要早點(diǎn)釋放資源。這些資源包括 COM 對(duì)象、文件句柄和其他資源。

ADO 連接和記錄集是這種優(yōu)化的首要目標(biāo)。當(dāng)您使用完記錄集,就是說(shuō)用它的數(shù)據(jù)打印完一個(gè)表格后,請(qǐng)立即將它釋放,而不是等到頁(yè)的末尾。將您的 VBScript 變量設(shè)置為
Nothing
是最好的做法。不要讓記錄集簡(jiǎn)單地脫離作用域。同時(shí),應(yīng)當(dāng)釋放任何有關(guān)的 Command 或 Connection 對(duì)象。(不要忘了對(duì)記錄集或"連接"調(diào)用
Close()
,在將它們?cè)O(shè)置為
= Nothing
之前。)這將縮短數(shù)據(jù)庫(kù)必須為您調(diào)整資源的時(shí)間跨度,并將數(shù)據(jù)庫(kù)連接盡可能快地釋放給連接池。

技巧 9:進(jìn)程外的執(zhí)行將犧牲可靠性

ASP 和 MTS/COM+ 都有允許您以可靠性換取性能的配置選項(xiàng)。當(dāng)建立和部署應(yīng)用程序時(shí),應(yīng)當(dāng)理解這種交換。

ASP 選項(xiàng)

ASP 應(yīng)用程序可以配置為以三種方式之一運(yùn)行。在 IIS 5.0 中引入了術(shù)語(yǔ)"隔離級(jí)"來(lái)描述這些選項(xiàng)。三個(gè)隔離級(jí)值分別是低、中和高:

低級(jí)隔離。該隔離級(jí)在所有版本的 IIS 中受到支持,并且是最快的。它在主 IIS 進(jìn)程 Inetinfo.exe 中執(zhí)行 ASP。如果 ASP 應(yīng)用程序崩潰,則 IIS 也將崩潰。(要在 IIS 4.0 下重新啟動(dòng) IIS,Web 站點(diǎn)管理員需要使用工具,如 InetMon,來(lái)監(jiān)視站點(diǎn),如果服務(wù)器失敗,將運(yùn)行批處理文件來(lái)重新啟動(dòng)服務(wù)器。而 IIS 5.0 則引入了可靠的重新啟動(dòng),它將自動(dòng)重新啟動(dòng)失敗的服務(wù)器。)
中級(jí)隔離。IIS 5.0 引入了這個(gè)新隔離級(jí),它稱(chēng)為進(jìn)程外的,這是因?yàn)?ASP 運(yùn)行在 IIS 進(jìn)程之外。在中級(jí)隔離中,所有被配置按"中級(jí)"運(yùn)行的 ASP 應(yīng)用程序,將共享單個(gè)進(jìn)程空間。這將減少在一個(gè)服務(wù)器上運(yùn)行多個(gè)進(jìn)程外的 ASP 應(yīng)用程序所需的進(jìn)程數(shù)。中級(jí)是 IIS 5.0 中默認(rèn)的隔離級(jí)。
高級(jí)隔離。在 IIS 4.0 和 IIS 5.0 中受到支持,高級(jí)隔離也是進(jìn)程外的。如果 ASP 崩潰,則 Web 服務(wù)器并不崩潰。ASP 應(yīng)用程序?qū)⒃谙乱粋€(gè) ASP 請(qǐng)求時(shí)自動(dòng)重新啟動(dòng)。使用高級(jí)隔離,每個(gè)被配置為按高級(jí)運(yùn)行的 ASP 應(yīng)用程序,將在其自己的進(jìn)程空間中運(yùn)行。這樣可以保護(hù) ASP 應(yīng)用程序彼此不受干擾。它的缺點(diǎn)是它需要為每個(gè) ASP 應(yīng)用程序建立獨(dú)立的進(jìn)程。當(dāng)需要在一個(gè)服務(wù)器上主持十多個(gè)應(yīng)用程序時(shí),會(huì)增加很多開(kāi)銷(xiāo)。
那么,哪個(gè)選項(xiàng)是最好的呢?在 IIS 4.0 中,運(yùn)行進(jìn)程外的應(yīng)用程序會(huì)極大地影響性能。在 IIS 5.0 中,做了許多工作,使得進(jìn)程外運(yùn)行 ASP 應(yīng)用程序?qū)π阅墚a(chǎn)生的影響降到了最低。實(shí)際上,在大多數(shù)測(cè)試中,在 IIS 5.0 中的 ASP 進(jìn)程外應(yīng)用程序,要比 IIS 4.0 中的進(jìn)程內(nèi)應(yīng)用程序運(yùn)行得更快。無(wú)論如何,進(jìn)程內(nèi)(低隔離級(jí))在兩種平臺(tái)上仍然產(chǎn)生了最好的性能。但是,如果您的命中率相對(duì)較低或最大吞吐量較低,選擇低隔離級(jí)不會(huì)有太大的好處。所以,除非您需要每個(gè) Web 服務(wù)器每秒處理數(shù)百或數(shù)千個(gè)頁(yè)面,否則沒(méi)有必要選擇低隔離級(jí)。同樣,應(yīng)當(dāng)測(cè)試多種配置并判斷哪種情形最適合您。

注意: 當(dāng)您進(jìn)程外運(yùn)行 ASP 應(yīng)用程序(中級(jí)或高級(jí)隔離)時(shí),則在 NT4 上它們將運(yùn)行在 MTS 中,而在 Windows 2000 上它們將運(yùn)行在 COM+ 中。即,在 NT4 上它們運(yùn)行在 Mtx.exe 中,而在 Windows 2000 上它們運(yùn)行在 DllHost.exe 中。在"任務(wù)管理器"中,您可以看見(jiàn)這些正在運(yùn)行的進(jìn)程。還可以看見(jiàn) IIS 如何為進(jìn)程外的 ASP 應(yīng)用程序配置 MTS 程序包或 COM+ 應(yīng)用程序。

COM 選項(xiàng)

COM 組件也有三個(gè)配置選項(xiàng),雖然與 ASP 選項(xiàng)不完全相似。COM 組件可以被:"不配置"、配置為"庫(kù)應(yīng)用程序"或配置為"服務(wù)器應(yīng)用程序"。"不配置"是指不向 COM+ 注冊(cè)組件。組件將運(yùn)行在調(diào)用者的進(jìn)程空間,就是說(shuō),它們是"進(jìn)程中"的。"庫(kù)應(yīng)用程序"也是進(jìn)程中的,但受惠于 COM+ 的服務(wù),包括安全性、事務(wù)和環(huán)境支持。"服務(wù)器應(yīng)用程序"被配置為在其自己的進(jìn)程空間中運(yùn)行。

您可能看到,不配置的組件比庫(kù)應(yīng)用程序優(yōu)點(diǎn)稍微多些。您還可能看到"庫(kù)應(yīng)用程序"比"服務(wù)器應(yīng)用程序"有很大的性能優(yōu)點(diǎn)。這是因?yàn)?庫(kù)應(yīng)用程序"與 ASP 運(yùn)行在同一個(gè)進(jìn)程中,而"服務(wù)器應(yīng)用程序"則運(yùn)行在自己的進(jìn)程中。內(nèi)部進(jìn)程調(diào)用的開(kāi)銷(xiāo)要比進(jìn)程內(nèi)調(diào)用的開(kāi)銷(xiāo)大得多。而且,當(dāng)在進(jìn)程之間傳遞數(shù)據(jù)(如記錄集)時(shí),必須在兩個(gè)進(jìn)程之間復(fù)制所有的數(shù)據(jù)。

缺點(diǎn)!當(dāng)使用"COM 服務(wù)器應(yīng)用程序"時(shí),如果要在 ASP 和 COM 之間傳遞對(duì)象,請(qǐng)確保對(duì)象實(shí)現(xiàn)"按值匯集",即 MBV。實(shí)現(xiàn) MBV 的對(duì)象將其自身從一個(gè)進(jìn)程復(fù)制到另一個(gè)進(jìn)程。這比另一種方式好,在另一種方式中,對(duì)象留在創(chuàng)建它的進(jìn)程中,而其他進(jìn)程則重復(fù)調(diào)用創(chuàng)建使用該對(duì)象的進(jìn)程。被斷開(kāi)連接的 ADO 記錄集將是按值匯集的,已連接的記錄集則不是。Scripting.Dictionary 并不實(shí)現(xiàn) MBV,不會(huì)在進(jìn)程之間傳遞。最后,要另外告訴 VB 程序員的是:MBV 不是通過(guò)傳遞參數(shù)
ByVal
獲得的。MBV 是由原始組件創(chuàng)作者實(shí)現(xiàn)的。

怎么辦?

如果您想要以性能與可靠性的合理交換來(lái)完成您的配置,我們的推薦如下:

在 IIS 4.0 上,使用 ASP 的低隔離級(jí)別,并使用"MTS 服務(wù)器包"。
在 IIS 5.0 上,使用 ASP 的中隔離級(jí)別,并使用"COM+ 庫(kù)應(yīng)用程序"。
這些是很一般的準(zhǔn)則;通常讓公司以中或高隔離級(jí)別運(yùn)行 ASP,而單一目的的 Web 服務(wù)器可運(yùn)行于低隔離級(jí)別。請(qǐng)權(quán)衡折中并自行決定滿(mǎn)足需求的配置。

技巧 10:顯式使用選項(xiàng)

在 .asp 文件中顯式使用
選項(xiàng) Explicit
。置于 .asp 文件開(kāi)頭的這一指令,強(qiáng)制開(kāi)發(fā)人員聲明所有要使用的變量。許多開(kāi)發(fā)人員認(rèn)為這有助于調(diào)試應(yīng)用程序,因?yàn)樗苊饬隋e(cuò)誤鍵入變量名稱(chēng)而不經(jīng)意地新建變量(例如,
MyXLMString=...
而非
MyXMLString=)

也許更重要的是,聲明的變量比未聲明的變量快。實(shí)際上,腳本運(yùn)行時(shí),在每次使用未聲明變量時(shí)按照名稱(chēng)引用。而聲明的變量,在編譯或運(yùn)行時(shí)分配了序號(hào)。這樣,聲明的變量按照該序號(hào)引用。由于
選項(xiàng) Explicit
強(qiáng)制變量聲明,因此保證聲明了所有變量而實(shí)現(xiàn)快速訪(fǎng)問(wèn)。

技巧 11:在子例程和函數(shù)中使用局部變量

局部變量是在子例程和函數(shù)中聲明的變量。在子例程和函數(shù)中,局部變量訪(fǎng)問(wèn)要快于全局變量訪(fǎng)問(wèn)。使用局部變量還可以使代碼更加清晰,因此盡可能使用局部變量。

技巧 12:將常用數(shù)據(jù)復(fù)制到腳本變量

在 ASP 中訪(fǎng)問(wèn) COM 時(shí),應(yīng)該將常用的對(duì)象數(shù)據(jù)復(fù)制到腳本變量中。這將削減 COM 方法的調(diào)用,COM 方法的調(diào)用與訪(fǎng)問(wèn)腳本變量相比,要相對(duì)昂貴些。在訪(fǎng)問(wèn) Collection 和 Dictionary 對(duì)象時(shí),這一技術(shù)也可以削減了昂貴的查找。

通常,如果打算多次訪(fǎng)問(wèn)對(duì)象數(shù)據(jù),請(qǐng)將數(shù)據(jù)放入腳本變量。該優(yōu)化的主要目標(biāo)是 Request 變量(Form 和 QueryString 變量)。例如,您的站點(diǎn)可能傳遞一個(gè)名為 UserID 的 QueryString。假定該 UserID 變量要在特定頁(yè)中引用 12 次。請(qǐng)不要調(diào)用
Request("UserID")
12 次,而在 ASP 頁(yè)的開(kāi)頭將 UserID 賦予某個(gè)變量。然后就在頁(yè)中使用該變量。這將節(jié)省 11 次 COM 方法調(diào)用。

在實(shí)際中,訪(fǎng)問(wèn) COM 屬性或方法暗藏著繁復(fù)的過(guò)程和大量的開(kāi)銷(xiāo)。下面是一個(gè)示例,它只是些相當(dāng)普通的代碼(從語(yǔ)法上講):

Foo.bar.blah.baz = Foo.bar.blah.qaz(1)
If Foo.bar.blah.zaq = Foo.bar.blah.abc Then ‘' ...

在運(yùn)行這段代碼時(shí),將發(fā)生下列事件:

變量
Foo
被解析為全局變量。
變量
bar
被解析為
Foo.
的成員。這將產(chǎn)生 COM 方法調(diào)用。
變量
blah
被解析為
Foo.bar
的成員。這也將產(chǎn)生 COM 方法調(diào)用。
變量
qaz
被解析為
foo.bar.blah
的成員。是的,這也將產(chǎn)生 COM 方法調(diào)用。
調(diào)用
Foo.bar.blah.quaz(1)
。又一次產(chǎn)生 COM 方法調(diào)用。理解這幅圖了嗎?
執(zhí)行步驟 1 到 3 將再次解析
baz
。系統(tǒng)不知道調(diào)用
qaz
是否更改對(duì)象模型,因此步驟 1 到 3 必須再次執(zhí)行解析
baz


baz
解析為
Foo.bar.blah
的成員。進(jìn)行屬性置入。
再次執(zhí)行步驟 1 到 3 并解析
zaq
。
再次執(zhí)行步驟 1 到 3 并解析
abc
。
正如所見(jiàn),這是非??膳碌牡托剩ǘ曳浅BS?VBScript 編寫(xiě)該代碼實(shí)現(xiàn)的快速方法為:

Set myobj = Foo.bar.blah ‘' 對(duì) blah 做一次解析
Myobj.baz = myobj.qaz(1)
If Myobj.zaq = Myobj.abc Then ‘'...

如果您使用的是 VBScript 5.0 或更高版本,則可用
With
語(yǔ)句來(lái)寫(xiě)這段代碼:

With Foo.bar.blah
.baz = .qaz(1)
If .zaq = .abc Then ‘'...
...
End With

請(qǐng)注意該技巧對(duì) VB 編程同樣有效。

技巧 13:避免重新定義數(shù)組

盡量避免
Redim
數(shù)組。從關(guān)心性能的角度來(lái)說(shuō),如果計(jì)算機(jī)受物理內(nèi)存的限制,最好一開(kāi)始將數(shù)組的維數(shù)設(shè)置為最差方案 - 而不要將維數(shù)設(shè)置為最佳方案,再根據(jù)需要重新定義維數(shù)。這并不意味著明知道不需要那么多而就是應(yīng)該分配太多的內(nèi)存。

下面代碼展示了您沒(méi)有必要地使用了
Dim

Redim
來(lái)解決。

<%
Dim MyArray()
Redim MyArray(2)
MyArray(0) = "hello"
MyArray(1) = "good-bye"
MyArray(2) = "farewell"
...
‘' 一些別的代碼中,這里您不需要更多的空間,然后 ...
Redim Preserve MyArray(5)
MyArray(3) = "more stuff"
MyArray(4) = "even more stuff"
MyArray(5) = "yet more stuff"
%>

更好的辦法是只須一開(kāi)始
Dim
數(shù)組為正確的大?。ū纠袨?5),而不是
Redim
數(shù)組,再加大數(shù)組。這可能會(huì)浪費(fèi)一點(diǎn)兒內(nèi)存(如果沒(méi)有用盡所有元素),但是獲得的是速度。

技巧 14:使用響應(yīng)緩沖

您可以通過(guò)打開(kāi)"響應(yīng)緩沖區(qū)"來(lái)緩沖值得輸出的整個(gè)頁(yè)。這將寫(xiě)入瀏覽器的數(shù)據(jù)量降為最小,從而提高總體性能。每次寫(xiě)入都會(huì)有大量開(kāi)銷(xiāo)(包括 IIS 和通過(guò)電纜發(fā)送的數(shù)據(jù)量),因此寫(xiě)入的越少越好。TCP/IP 的工作效率,在發(fā)送少量大的數(shù)據(jù)塊時(shí)明顯高于發(fā)送大量小的數(shù)據(jù)塊時(shí),原因在于它的低速啟動(dòng)和 Nagling 算法(用于最小化網(wǎng)絡(luò)阻塞)。

打開(kāi)響應(yīng)緩沖有兩種方法。第一種,可以使用"Internet 服務(wù)管理器"為整個(gè)應(yīng)用程序打開(kāi)響應(yīng)緩沖。這是推薦的方法,在 IIS 4.0 和 IIS 5.0 中,在默認(rèn)情況下,為新的 ASP 應(yīng)用程序打開(kāi)響應(yīng)緩沖。第二種,逐頁(yè)將下列代碼行放在 ASP 頁(yè)的開(kāi)頭,從而啟用響應(yīng)緩沖:

<% Response.Buffer = True %>

該行代碼必須在任何響應(yīng)數(shù)據(jù)寫(xiě)入瀏覽器之前執(zhí)行(也就是說(shuō),在任何 HTML 出現(xiàn)在 ASP 腳本中之前和任何 Cookies 被使用
Response.Cookies
集合設(shè)置之前)。通常,最好是為整個(gè)應(yīng)用程序打開(kāi)響應(yīng)緩沖。這允許省略上面每頁(yè)中的代碼行。

Response.Flush

響應(yīng)緩沖的通病是用戶(hù)感覺(jué) ASP 頁(yè)響應(yīng)遲鈍(盡管總體響應(yīng)時(shí)間改善了),因?yàn)樗麄冃枰鹊秸麄€(gè)頁(yè)生成后才能看見(jiàn)該頁(yè)。對(duì)于長(zhǎng)時(shí)間運(yùn)行的頁(yè)面,可以通過(guò)設(shè)置
Response.Buffer = False
關(guān)閉響應(yīng)緩沖。但是,更好的策略是使用
Response.Flush
方法。該方法刷新由 ASP 繪入瀏覽器的所有 HTML。例如,繪制了具有 1,000 行的表的 100 行后,ASP 可以調(diào)用
Response.Flush
強(qiáng)制將結(jié)果繪制到瀏覽器;這允許用戶(hù)在其余的行準(zhǔn)備好之前先看到頭 100 行。該技術(shù)給了您兩個(gè)舉世無(wú)雙的好東西 - 響應(yīng)緩沖與瀏覽器中數(shù)據(jù)的逐步顯示的組合。

(注意,在上面 1,000 行表的示例中,許多瀏覽器,在看到 </table> 結(jié)束標(biāo)記之前不會(huì)開(kāi)始繪制表。請(qǐng)檢查目標(biāo)瀏覽器的支持性。要解決該問(wèn)題,請(qǐng)將表分割為具有較少行的多個(gè)表,然后在每個(gè)表后面調(diào)用
Response.Flush
。新版本的 Internet Explorer 將在表完全下載之前繪制表,特別是如果指定表的列寬則繪制速度更快;這避免強(qiáng)制 Internet Explorer 通過(guò)度量每個(gè)單元格的內(nèi)容來(lái)計(jì)算列寬。)

響應(yīng)緩沖的另一個(gè)通病是在生成大型頁(yè)時(shí)將使用服務(wù)器的大量?jī)?nèi)存。對(duì)于該問(wèn)題,除了要求生成大型頁(yè)的技巧外,還可以通過(guò)巧妙地使用
Response.Flush
來(lái)解決。

技巧 15:批處理內(nèi)嵌腳本和 Response.Write 語(yǔ)句

VBScript 語(yǔ)法
<% = expression %>
將"
表達(dá)式
"的值寫(xiě)入 ASP 輸出流。如果響應(yīng)緩沖沒(méi)有打開(kāi),則這些語(yǔ)句的每一句都會(huì)導(dǎo)致通過(guò)網(wǎng)絡(luò),以許多小型包的形式,向?yàn)g覽器寫(xiě)入數(shù)據(jù)。這是非常慢的。另外,解釋少量腳本和 HTML,將導(dǎo)致在腳本引擎和 HTML 之間切換,也降低了性能。因此,請(qǐng)使用下面技巧:用對(duì)
Response.Write
的一個(gè)調(diào)用,替換內(nèi)嵌的密集組合表達(dá)式。例如,在下面范例中,每行每字段有一個(gè)對(duì)響應(yīng)流的寫(xiě)入,每行都有許多 VBScript 和 HTML 之間的切換:

<table>
<% For Each fld in rs.Fields %>
<th><% = fld.Name %></th>
<%
Next
While Not rs.EOF
%>
<tr>
<% For Each fld in rs.Fields %>
<td><% = fld.Value %></td>
<% Next
</tr>
<% rs.MoveNext
Wend %>
</table>

下面是更有效的代碼,每行中有一個(gè)對(duì)響應(yīng)流的寫(xiě)入。所有代碼均包含在一個(gè) VBScript 塊內(nèi):

<table>
<%
For each fld in rs.Fields
Response.Write ("<th>" & fld.Name & "</th>" & vbCrLf)
Next
While Not rs.EOF
Response.Write ("<tr>")
For Each fld in rs.Fields %>
Response.Write("<td>" & fld.Value & "</td>" & vbCrLf)
Next
Response.Write "</tr>"
Wend
%>
</table>

當(dāng)響應(yīng)緩沖被禁用時(shí),本技巧的作用更大。最好啟用響應(yīng)緩沖,然后觀察批處理
Response.Write
是否對(duì)性能有幫助。

(在這一特例中,構(gòu)建表的主體的嵌套循環(huán) (
While Not rs.EOF...
) 可以被精心構(gòu)造的、對(duì) GetString 的調(diào)用所替代。)

技巧 16:在開(kāi)始長(zhǎng)時(shí)間的任務(wù)之前先使用 Response.IsClientConnected

如果用戶(hù)失去耐心,他們可以在開(kāi)始執(zhí)行他們的請(qǐng)求之前放棄 ASP 頁(yè)。如果他們單擊了 Refresh 或跳轉(zhuǎn)到服務(wù)器的其他頁(yè)上,在 ASP 請(qǐng)求隊(duì)列的末尾將有一個(gè)新的請(qǐng)求,而在隊(duì)列的中間有一個(gè)斷開(kāi)連接的請(qǐng)求。這通常發(fā)生在服務(wù)器處于高負(fù)荷的情況下(它有一個(gè)很長(zhǎng)的請(qǐng)求隊(duì)列,相應(yīng)的響應(yīng)時(shí)間也很長(zhǎng)),這只能使情況更糟。如果用戶(hù)不再連接,將沒(méi)有執(zhí)行 ASP 頁(yè)的點(diǎn)(特別是低速、重量級(jí)的 ASP 頁(yè))??梢允褂?
Response.IsClientConnected
屬性檢查這種情況。如果它返回
False
,則應(yīng)調(diào)用
Response.End
并放棄該頁(yè)的剩余內(nèi)容。實(shí)際上,每當(dāng) ASP 要執(zhí)行新的請(qǐng)求時(shí),IIS 5.0 便將該方法編碼,來(lái)檢查隊(duì)列中的請(qǐng)求有多長(zhǎng)。如果在那里超過(guò)了 3 秒鐘,ASP 會(huì)檢查客戶(hù)是否仍然連接著,如果客戶(hù)已斷開(kāi)連接,就立即結(jié)束該請(qǐng)求。您可以使用 metabase 中的
AspQueueConnectionTestTime
設(shè)置,調(diào)整這 3 秒的超時(shí)時(shí)間。

如果有某頁(yè)執(zhí)行了很長(zhǎng)時(shí)間,您可能還想按一定的時(shí)間間隔檢查
Response.IsClientConnected
。在啟用響應(yīng)緩沖之后,按一定的時(shí)間間隔執(zhí)行
Response.Flush
,告訴用戶(hù)正在進(jìn)行的是哪些事情,是個(gè)好辦法。

注意 在 IIS 4.0 中,
Response.IsClientConnected
將不能正常工作,除非首先執(zhí)行
Response.Write
。如果啟用了緩沖,也需要執(zhí)行
Response.Flush
。在 IIS 5.0 中則不必如此 -
Response.IsClientConnected
工作得很好。在任何情況下,
Response.IsClientConnected
都要有些開(kāi)銷(xiāo),所以,只有在執(zhí)行至少要用 500 毫秒(如果想維持每秒幾十頁(yè)的吞吐量,這是一個(gè)很長(zhǎng)的時(shí)間了)的操作前才使用它。作為通常的規(guī)則,不要在緊密循環(huán)的每次迭代中調(diào)用它,例如當(dāng)繪制表中的行,可能每 20 行或每 50 行調(diào)用一次。

技巧 17:使用 <OBJECT> 標(biāo)記實(shí)例化對(duì)象

如果需要引用不能在所有代碼路徑中使用的對(duì)象(尤其是服務(wù)器 - 或應(yīng)用程序 - 作用域的對(duì)象),則使用 Global.asa 中的
<object runat=server id=objname>
標(biāo)記來(lái)聲明它們,而不是使用
Server.createObject
方法。
Server.createObject
立刻創(chuàng)建對(duì)象。如果以后不使用那個(gè)對(duì)象,就不要浪費(fèi)資源。
<object id=objname>
標(biāo)記聲明了 objname,但實(shí)際上 objname 此時(shí)并沒(méi)有創(chuàng)建,直到它的方法或?qū)傩缘谝淮伪皇褂脮r(shí)才創(chuàng)建。

這是遲緩計(jì)算的另一個(gè)例子。

技巧 18:使用 ADO 對(duì)象和其他組件的 TypeLib 聲明

當(dāng)使用 ADO 時(shí),開(kāi)發(fā)人員經(jīng)常包含
adovbs.txt
來(lái)獲得對(duì) ADO 不同常量的訪(fǎng)問(wèn)權(quán)。該文件必須包含在要使用這些常量的每一頁(yè)中。該常量文件非常大,給每個(gè) ASP 頁(yè)增加了很多編譯時(shí)間和腳本大小方面的開(kāi)銷(xiāo)。

IIS 5.0 提供了綁定到組件類(lèi)型庫(kù)的能力。允許您在每個(gè) ASP 頁(yè)上引用一次類(lèi)型庫(kù)并使用它。每頁(yè)不需要為編譯常量文件付出代價(jià),并且組件開(kāi)發(fā)人員不必為在 ASP 中的使用而生成 VBScript #include 文件。

要訪(fǎng)問(wèn) ADO 類(lèi)型庫(kù),請(qǐng)將下列語(yǔ)句之一放入 Global.asa 中。

<!-- METADATA NAME="Microsoft ActiveX Data Objects 2.5 Library"
TYPE="TypeLib" UUID="{00000205-0000-0010-8000-00AA006D2EA4}" -->

或者

<!-- METADATA TYPE="TypeLib"
FILE="C:\Program Files\Common Files\system\ado\msado15.dll" -->

技巧 19:利用瀏覽器的驗(yàn)證能力

流行的瀏覽器具有對(duì)以下功能的高級(jí)支持,例如 XML、DHTML、Java 小程序以及遠(yuǎn)程數(shù)據(jù)服務(wù)。請(qǐng)盡量利用這些功能。所有這些技術(shù),都可以通過(guò)執(zhí)行客戶(hù)端的驗(yàn)證和數(shù)據(jù)緩存,減少了與 Web 服務(wù)器之間的往返。如果您正在運(yùn)行智能瀏覽器,該瀏覽器可以為您進(jìn)行一些驗(yàn)證(例如,在運(yùn)行 POST 之前檢查信用卡的校驗(yàn)和否有效)。重申一次,請(qǐng)盡量使用這些功能。由于削減了客戶(hù)端到服務(wù)器的往返路程,將減少對(duì) Web 服務(wù)器的壓力,并且削減了網(wǎng)絡(luò)通信量(雖然發(fā)送給瀏覽器的初始頁(yè)面可能更大),服務(wù)器訪(fǎng)問(wèn)的所有后端資源也削減了。而且用戶(hù)不必經(jīng)常提取新頁(yè),使用戶(hù)的感受好一些。這并不減輕對(duì)服務(wù)器端驗(yàn)證的需要。還是應(yīng)該經(jīng)常進(jìn)行服務(wù)器端的驗(yàn)證。這樣能夠防止由于某些原因從客戶(hù)端來(lái)的壞數(shù)據(jù),例如黑客,或者不運(yùn)行客戶(hù)端驗(yàn)證程序的瀏覽器。

許多站點(diǎn)由獨(dú)立于瀏覽器創(chuàng)建的 HTML 組成。這一點(diǎn)經(jīng)常阻礙開(kāi)發(fā)人員利用可以提高性能的流行瀏覽器功能。對(duì)于真正高性能的、必須關(guān)心瀏覽器的站點(diǎn),良好的策略是針對(duì)流行的瀏覽器優(yōu)化您的頁(yè)面。在 ASP 中使用"瀏覽器性能組件",很容易檢測(cè)到瀏覽器的功能。諸如 Microsoft FrontPage 等工具,能幫助您設(shè)計(jì)使用所希望的目標(biāo)瀏覽器和 HTML 版本的代碼。更詳細(xì)的討論,請(qǐng)查看 When is Better Worse? Weighing the Technology Trade-Offs(英文)。

技巧 20:在循環(huán)中避免字符串串聯(lián)

許多人在循環(huán)中創(chuàng)建類(lèi)似這樣的字符串:

s = "<table>" & vbCrLf
For Each fld in rs.Fields
s = s & " <th>" & fld.Name & "</th> "
Next

While Not rs.EOF
s = s & vbCrLf & " <tr>"
For Each fld in rs.Fields
s = s & " <td>" & fld.Value & "</td> "
Next
s = s & " </tr>"
rs.MoveNext
Wend

s = s & vbCrLf & "</table>" & vbCrLf
Response.Write s

這種方法有幾個(gè)問(wèn)題。首先,重復(fù)連接字符串所花費(fèi)的時(shí)間,以二次方曲線(xiàn)的速率增長(zhǎng);粗略地計(jì)算,運(yùn)行循環(huán)所花費(fèi)的時(shí)間,與記錄數(shù)乘以字段數(shù)的平方成正比。舉一個(gè)簡(jiǎn)單的例子,便能清楚地說(shuō)明這一點(diǎn)。

s = ""
For i = Asc("A") to Asc("Z")
s = s & Chr(i)
Next

在第一次迭代中,得到一個(gè)字符的字符串
"A"
。在第二次迭代中,VBScript 必須重新分配字符串并復(fù)制兩個(gè)字符
"AB"

。在第三次迭代中,它必須再次重新分配
,并復(fù)制三個(gè)字符到
。在第 N 次(26 次)迭代中,它必須重新分配并復(fù)制 N 個(gè)字符到
。就是 1+2+3+...+N 的和,為 N*(N+1)/2 次復(fù)制。

在以上記錄集的例子中,如果有 100 條記錄和 5個(gè)字段,則內(nèi)部的循環(huán)將執(zhí)行 100*5 = 500 次,并且完成所有復(fù)制和重新分配所花費(fèi)時(shí)間,將與 500*500 = 250,000 成正比。對(duì)一個(gè)大小適度的記錄集,將有很多次復(fù)制。

在該例子中,代碼可以改進(jìn):字符串的連接將被
Response.Write()
或內(nèi)嵌腳本 (
<% = fld.Value %>
) 所替代。如果打開(kāi)響應(yīng)緩沖,這個(gè)操作將會(huì)很快,因?yàn)?
Response.Write
僅僅將數(shù)據(jù)添加到響應(yīng)緩沖的末尾。不再重新分配,因而非常有效。

特別是在將 ADO 記錄集轉(zhuǎn)換到 HTML 表時(shí),請(qǐng)考慮使用 GetRows 或 GetString。

如果用 JScript 連接字符串,強(qiáng)烈建議使用
+=
操作符;即用
s += "某字符串",
而不是
s = s + "某字符串"
。

技巧 21:?jiǎn)⒂脼g覽器和代理緩存

默認(rèn)情況下,ASP 禁用瀏覽器和代理中的緩存。這將很有意義,因?yàn)?ASP 生來(lái)就是動(dòng)態(tài)的,具有潛在地對(duì)時(shí)間敏感的信息。如果有一個(gè)不需要對(duì)每次查看進(jìn)行刷新的頁(yè),則應(yīng)該啟用瀏覽器和代理緩存。這使得瀏覽器和代理能在某一段時(shí)間內(nèi),使用某一頁(yè)的緩存副本,這時(shí)間的長(zhǎng)短可以控制。緩存能明顯減輕服務(wù)器負(fù)荷,使用戶(hù)的感受好一些。

哪種動(dòng)態(tài)頁(yè)可以緩存?舉例說(shuō)明:

天氣頁(yè),每 5 分鐘更新一次。
列出新聞的主頁(yè)或新聞發(fā)布的主頁(yè),每天更新 2 次。
公共基金運(yùn)營(yíng)列表,基本的統(tǒng)計(jì)數(shù)小時(shí)更新 1 次。
請(qǐng)注意,使用瀏覽器或代理緩存,只有很少的命中被記錄到 Web 服務(wù)器上。如果想精確測(cè)量所有頁(yè)面查看或者張貼廣告,也許不喜歡使用瀏覽器和代理緩存。

瀏覽器緩存是由 Web 服務(wù)器發(fā)往瀏覽器的 HTTP 截至期限標(biāo)題控制的。ASP 提供了兩種發(fā)送標(biāo)題的機(jī)制。要將頁(yè)面設(shè)置為在未來(lái)某個(gè)分鐘數(shù)后過(guò)期,請(qǐng)?jiān)O(shè)置
Response.Expires
屬性。以下的例子通知瀏覽器:內(nèi)容在 10 分鐘后過(guò)期:

<% Response.Expires = 10 %>

設(shè)置
Response.Expires
為負(fù)數(shù)或 0 則禁用緩存。一定要使用較大的負(fù)數(shù),例如 -1000 (大于一天),來(lái)克服服務(wù)器時(shí)鐘和瀏覽器時(shí)鐘之間的差異。第二個(gè)屬性
Response.ExpiresAbsolute
,允許設(shè)置內(nèi)容過(guò)期的指定時(shí)間:

<% Response.ExpiresAbsolute = #May 31,2001 13:30:15# %>

如果不想使用 Response 對(duì)象設(shè)置過(guò)期時(shí)間,可以將 <META> 標(biāo)記寫(xiě)入 HTML,通常寫(xiě)在 HTML 文件的 <HEAD> 內(nèi)部。一些瀏覽器會(huì)響應(yīng)這條指令,但代理不會(huì)。

<META HTTP-EQUIV="Expires" VALUE="May 31,2001 13:30:15">

最后,可以標(biāo)識(shí)內(nèi)容對(duì) HTTP 代理緩存是否有效,請(qǐng)使用
Response.CacheControl
屬性。設(shè)置屬性為"Public",允許代理緩存內(nèi)容。

<% Response.CacheControl = "Public" %>

默認(rèn)情況下,該屬性設(shè)置為"Private"。注意,不應(yīng)當(dāng)為顯示某用戶(hù)專(zhuān)用數(shù)據(jù)的頁(yè)啟用代理緩存,因?yàn)榇硪苍S為屬于其他用戶(hù)的用戶(hù)頁(yè)面服務(wù)。

技巧 22:盡可能使用 Server.Transfer 替代 Response.Redirect

Response.Redirect
通知瀏覽器,請(qǐng)求一個(gè)不同的頁(yè)面。該函數(shù)經(jīng)常用于重定向用戶(hù)到登錄或錯(cuò)誤頁(yè)面。既然重定向強(qiáng)制一個(gè)新頁(yè)請(qǐng)求,瀏覽器就必須做兩次到 Web 服務(wù)器的往返,而且 Web 服務(wù)器必須處理額外的請(qǐng)求。IIS 5.0 引入一個(gè)新的函數(shù),
Server.Transfer
,該函數(shù)執(zhí)行傳送到相同服務(wù)器上的不同 ASP 頁(yè)。這樣避免了額外的、從瀏覽器到 Web 服務(wù)器的往返,從而改善了整體系統(tǒng)性能,同時(shí)改善了對(duì)用戶(hù)的響應(yīng)時(shí)間。請(qǐng)查看重定向中的新方向(英文),它討論了
Server.Transfer

Server.Execute
。

也可以查看Leveraging ASP in IIS 5.0中有關(guān) IIS 5.0 和 ASP 3.0 新功能的完全列表。(英文)

技巧 23:在目錄 URL 尾部加斜線(xiàn)

相關(guān)的技巧是,一定要定在指向目錄的 URL 尾部加斜線(xiàn)
(/)
。如果省略了斜線(xiàn),瀏覽器將向服務(wù)器提出請(qǐng)求,僅通知它正尋找一個(gè)目錄。然后瀏覽器發(fā)出第二個(gè)請(qǐng)求,在 URL 末尾添加斜線(xiàn),然后服務(wù)器將那個(gè)目錄的默認(rèn)文檔作為響應(yīng),或者如果沒(méi)有默認(rèn)文檔并且目錄瀏覽已被啟用,就以目錄列表作為響應(yīng)。添加了斜線(xiàn)便省去了第一個(gè)沒(méi)用的往返。出于對(duì)用戶(hù)的友好,也許想要在顯示的名稱(chēng)的末尾省略斜線(xiàn)。

例如,寫(xiě):

<a title="MSDN Web
Workshop">http://msdn.microsoft.com/workshop</a>

它還適用于指向在 Web 站點(diǎn)主頁(yè)的 URL:請(qǐng)使用下面的: <a >,不要用 <a >.


技巧 24:避免使用服務(wù)器變量

訪(fǎng)問(wèn)服務(wù)器變量將引起 Web 站點(diǎn)向服務(wù)器提出特殊的請(qǐng)求,然后收集所有的服務(wù)器變量,并不止是需要的那個(gè)。這好像從發(fā)霉的閣樓中的文件夾中檢索某條特殊的信息一樣。當(dāng)想要某條信息時(shí),在訪(fǎng)問(wèn)該信息之前必須先上閣樓取得文件夾。這與請(qǐng)求服務(wù)器變量時(shí),性能訪(fǎng)問(wèn)出現(xiàn)第一次請(qǐng)求服務(wù)器變量所發(fā)生的一樣。后續(xù)的對(duì)其他服務(wù)器變量的訪(fǎng)問(wèn)不會(huì)引起性能訪(fǎng)問(wèn)。

從不訪(fǎng)問(wèn)不合格的 Request 對(duì)象(例如, Request("Data") )。對(duì)于不在 Request.Cookies 、 Request.Form 、 Request.QueryString 或 Request.ClientCertificate 中的項(xiàng),有對(duì) Request.ServerVariables 的隱含調(diào)用。
Request.ServerVariables
集合比其他集合慢很多。

該文章在 2011/2/16 10:33:27 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2024 ClickSun All Rights Reserved

美女性感一二区,天堂久久久久久中文,自拍偷拍亚洲动漫 ,小浪货腿打开水真多视频,国产无套内精在线观看,巨胸喷奶水免费视频,欧美一级粗黑,免费高清欧美一区二区三区,黑人越猛烈欧美XX00动态图,最近亚洲国产网页aⅴ,少妇自拍视频一区,亚洲精品福利视频久久,最新手机国产在线小视频,国产午夜福利无,在线免费观看国产污污污视频,97视频国产中文,在线欧美sm一卡
国产Chinese在线男同twing| 国产自在线拍点击进入| 国产女女豆腐互摩擦视频| 日日噜噜夜夜狠狠2021| 亚洲人成网站在线播放青春| 欧美40岁丰满少妇| 日本韩免费不卡在线中文字幕| 性爱视频一区二区| h片真人在线免费观看| 激情综合婷婷激情五月| 亚洲国产精品500在线观看| 天天做天天拍天天夜| 国产丝袜一区二区在线播放| 午夜男女XX00视频| 2018天天玩天天爱天天吃| 国产A级情侣激情视频| 97日日摸夜夜添夜夜添高潮| 欧美性黑人精品HD| 色多多成视频人app黄| 777米奇狠狠| 久久青青草原精品国| AV天堂高清不卡你懂的| 黑人与国产91| 午夜福利杨幂在线视频| 尤物久久99国产综合精品下载| 乱妇熟女| 公车被奷到高潮突然停下| 你懂的综合在线| 丰满少妇爽死你视频| 在线精品国精品国产尤物| 色婷婷久久综合中文久久一本| 国产九九自拍亚洲| 亚洲国产高清在线观看视频| 久久综合色8888| 污网址免费观看| 亚洲欧洲日产国码中文| yyy111111少妇影院| 在线观看免费你懂的国产| 俄罗斯第一次处破女| 国产噜噜视频| 爽死视频国产| 亚洲女人夜夜欢日日摸| 国产杨幂AV网站| 孕妇网站在线观看导航| 制服丝袜Av在线| 97在线观看视频免费高清| 波多野结衣免费看AV片| 草草线在线禁18成年在线视频| 成人福利在线视频| 亚洲 中文字幕在线播| 婷婷五点尤物视频| 丁香五月网久久综合| 韩国三级在线中文字幕| 午夜精品第一页| 国产younv交在线视频| 8x永久免费视频在线网| 一进一出一爽又粗又大视频| 日本特黄免了费高清| 精品久久久久久2019中文字幕| 极品嫩模高潮叫床视频| 60老妇性视频在线| 啦啦啦免费播放视频| 你懂的,在线看| 日韩精品久久久久久| 极品尤物在线观看福利| 国产电影网亚洲| 老师在办公室被躁在线观看 | 国产高清午夜人成在线观看,| 亚洲网爆门热门事件| 777日本,欧美在线视频播放| 97se综合亚洲| 国产白色丝袜在线| 西西人体www| 国产真实强奷系列在线观看| 97色成人综合网站| 亚洲少妇日韩| 视频一区二区三区四区,久久免费视频| 国产精品999高清在线观看| 一级一片高潮在线观看| ,综合网红福利一线天在线| 在线观看未禁18免费视频| 和闺蜜互慰到高潮视频| 亚洲人成777| 亚洲美女视频一区二区三区| 嗯啊视频中文| 女人腿张开让男人桶爽肌肌| 少妇水多多午夜福利| A级里粗大硬长爽猛视频| 2021微拍精品第一区| 国产美女爽到尿出来| CHINESE精品偷拍| 国产打屁股调教在线观看| 丁香五月综合网| 车车好快的车车污真人网站| 99婷婷久久战| 宅男噜亚洲精品| 羞羞色国产精品网站| 狠狠综合久久久久综合网小| 国产精品_国产精品_K频道| 亚洲老肥熟女四五十路| 五月天在线视频亚洲| 成人性三级欧美在线观看| 97理论三级九七午夜在线观看| 亚洲国产日韩成人A在线欧美| 无遮挡很爽很黄很污的网站| 翁熄浪公夜夜欢| 制服第一页中文字幕| 欧美一级久久久免费| 色婷婷激情综合| 日本少妇被爽到高潮动态图| 真人作爱80分钟免费看视频| 在线观看免费刺激视频| 亚洲狠狠狠一区二区三区| 粉嫩大学生高潮白浆| 在线成视频免费观看hh| 亚洲色大成网站www永久软件| 在线人成免费观看网站| 日本高清不卡不码视频| 国产精品免费观看久久| 国产美女爽到喷出水来视频,| XXXXX大片在线观看| 综合激情六月婷婷| 亚洲香蕉网久久| 伊人琪琪一区二区三区| 制服JK一区二区国产| 天天精品亚洲| 国产AV一区最新精品| 亚州AV永久综合在线观看红杏| 伊人久久大香线蕉综合影视| 无遮无挡拍拍拍| 亚欧美日韩香蕉在线播放视频| 国产精品亚洲а∨天堂网不卡| 扒开校花的粉嫩小泬在线观看 | 国产乱子伦视频在线观看| 午夜性爽视频男人的天堂| 货国产嫩草黄| AA级女人喷水视频免费| 国产午夜精品理论片久久影院| ww欧美在线| 亚洲天堂网在线视频| 国产中年熟女大集合| 禁十八男女污污污午夜免费| 午夜男女乱婬真视频播放| 97在线观看视频公开免费| 青青国产在线拍| 娇嫩 白浆 在线播放| 成人永久福利在线观看| 午夜福利激情| 国产白浆出水精选合集| 五月天综合影院| 亚洲免费福利视频一区二区三区| 日日射日日肏视频| 欧亚天堂在线播放| 日韩精品中文字幕网| 四月丁香色婷婷九月| 草莓无限破解版永久| 久久国产天堂| 国产99视频精品免费视看6| 91青青祝频免费| 欧美嗯~啊~| 亚洲一区电影在线观看| 综合偷拍区欧美| 国产A级不卡免费视频| 全裸美女黄的免费看| 久久精品女人天堂AV一个| 特级婬片女子高清视频国产片| 最新日本免费二区三区| 日本湿乳视频| 中国老女人浓密多毛| 亚洲精品二区360偷拍| 多人强伦姧孕妇在线观看| 亚洲欧美日产综合在线网| 好男人在线视频免费播放| 2020亚洲免费网站你懂得| 在线白丝制服模特视频| 2020年最新aⅴ精品| 亚洲综合色88综合天堂| 永久免费A片官网| 亚欧精品福利视频网站| 五月天婷婷在线视频精品播放| 1000部拍拍拍18勿入免费视| 性欧美丰满顶级毛茸茸| 电影www色午夜| 业余 自由 性别 成熟视频 视| freexxxx性第一次摘花| 亚洲综合激情九月婷婷| 被三个黑人强到尖叫在线视频| 嘿咻嘿咻高潮免费观看网站| 嗯啊不要欧美日韩| 性多多欧美在线播放| 最好看的2019中文字幕视频| 电车美人强奷系列在线播放| 国产成熟女人性满足视频| 又爽又黄又大胆的激情视频| 美女被强躁免费视频网站| 成年动漫3D无尽视频不卡在线观 | 五级黄高潮片90分钟视频| 午夜激情视频网站| 2018国产大陆天天弄| 日本丰满巨肥大屁股BBW| 男女激情无遮挡高清| 丝袜网站免费视频国产片| 香港三日本三级少妇三级66| 2020年自拍偷拍视频| 加勒比一区| 最新在线精品国产福利| 老司机精品视频在线| 日本www鲁啊鲁| 日本中文字幕aⅴ高清看片| 久久久久久精品久久久| 国产清纯美女遭强到高潮| 盗摄国产女厕hd| jyzzjyzz在线观看免费高清| 日出水成年人免费| 天天综合网在线观看| 视频一区2022在线观看| 国产丝袜美女在线高潮| 久久香蕉国产线精品| 久久久久久精品免费免费wer| japanese精品久久中文字幕| 亚洲自偷自拍另类11p| 久久1024| 国产日韩欧美亚欧在线| 欧美色美人在线视频手机在线观看| 国产高中生第一次完整版| bdb14黑人巨大视频| 精品福利私拍| 日日穞夜夜添狠狠| 欧美最猛性xxxxx69| 国产在线精品国自产拍影院同性| 国产色青青视频在线观看撒 | 久久人人爽人人爽人人爽| 国产精品视频口爆吞精| 最新zooskoovideos欧美异| 2021AV天堂视频在线播放| 尹向南景孟弦车上做| A级里粗大硬长爽猛视频| 久章草国产在线| 夜夜噜噜噜| 多人强伦姧美女免费看| 综合图区 第1页动漫图片| 26uu欧美日韩| 天天摸夜夜添久久精品| 精品不卡一区中文字幕| 国产午夜精品不卡视频| 国产精品免费人成网站| 久久永久精品免费视频| 扒开女人毛茸茸黑森林视频| 成十人十网站十免费观看| 国产在线孕妇孕交| 亚洲一区三上悠亚| 日本三级在线视频| 777免费视频免在线看| 色多多网站在线导航| 亚洲AV理论在线观看| 国产丝袜美女出水| AV在线精品网在线观看| 巨波霸乳在线K8永久免费视频| 中文——日韩视频| 精品国产日韩亚洲一区在线| 日本在线观看免费看视频| 波多野结衣大高潮| 曰本女人与公拘交酡| 中国农村野战FREESEXVIDEO| 高h视频不卡在线播放| 韩国午夜福利片在线| 亚洲国产精品久久久久久| 亚洲综合色丁香婷婷六月图片| 玖玖资源站最新地址2| A片免费在线观看网站| 幻女free性zozo交视频| 亚洲色大成网站www成永久网站| 毛多水多茸茸的撒尿| 日韩一区二区三区免费| 在线天堂BT中文WWW| 久久久久久精品免费免费麻辣| 91桃色在线观看网站| 午夜理论片在线观看免费丶| jiZZJIZZ日本护士视频在线| 吉林老女人高潮| 97热久久免费视频| 亚洲六月婷婷激情| 56PROM精品视频在放全部免| 最新在线你懂的| 久久国产乱子伦精品免费午夜| ww欧美ww在线播放| 欧美又大又粗午夜剧场免费| 国产精品网红主播美女| 午夜福利国产在线观看1| 377p欧洲日本亚洲大胆| 日本亚洲色大成网站.www| 国产69视频蜜臀| 午夜小视频污天天视频| 黑人粗进入欧美一级| 性小视频在线观看| 国产乱辈通伦免费视频| A级亚洲尤物在线| 果冻传媒新剧国产浮生影院| 亚洲天堂在线观看| 成 人 网 站 视频免费| 最新国产精品拍自在线观看| 亚洲jiZZjiZZ中国少妇中文| 国产1区1区3区4区产品乱码不卡| 69视频在线观看A片| 久久不卡网| 亚洲天堂AV麻豆| 精品国际在线免费观看| 97久久综合亚洲色hezyo社区| AV天堂午夜精品一区二区三区| 色女人综合| 亚洲成AV人不卡影片| h免费观看高清网站视频97| 日本特黄特色的大片观看免费视频| 熟女乱肉艳妇视频| 精品少妇AV免费久久| 亚洲精品综合第二区| 亚洲中文波霸中文字幕| 自偷自拍亚洲免费视频| 欧美你懂的在线观看| 亚洲人a成免费| 两性色午夜视频免费播放| 欧美白浆都流出来20p| 精品久久齐齐| h高潮娇喘抽搐喷水免费视频| 极品少妇流白浆| 国产67194一区二区四区| 啊啊啊不要舔下面视频| 亚洲 中文 字幕视频免费看| 无遮挡很爽很黄的网站| 99久久er热在这里都是精品99| 在线亚洲欧美日韩精品专区| 亚洲久爱视频| 永久精子网在线观看免费| 粉嫩 白浆 中出| 白丝高中生被c到爽哭视频| 精品久久久久久777米琪| 五十路熟女一区二区三区| 把jk制服美女弄高潮在线视频| 亚洲综合色站| 青草青草视频2免费观看| 国产XXXXX片免费观看| 69videos中国极品| 午在线亚洲男人午在线| 久久人体大胆瓣开下部| 日韩亚洲天堂| 在线观看免费视频高h| 亚洲日本人成网站在线播放18| 午夜福利日本孕妇在线| 伊人色天堂| 精品国内在视频线2020视频在线看| 亚洲精品乱码久久久久久| 综合AV在线高清第一页| 精品国产迷系列在线观看| mm1313亚洲国产精品图片| 中文字幕在线不卡一二三区超清 | 亚洲日韩 自偷自拍| IGAO视频天堂给爱激情| 国产精品久久久久影院| 伊人久久大香线蕉动态视频| 凹厕所xxxxbbbb偷拍| 99久久国产综合精麻豆| 国产精品免费全部免费观看| 999精品全免费观看视频| 又黄又乱的口述小说乱之伦| 高潮娇喘抽搐在线观看| 国产黑丝喷水视频| 天天AV天天翅天天谅先网国产| 国产最新区| 99re66在线精品免费观看| 免费人成视频在线观看| 制服丝袜第8页在线视频| 99热国产这里只有精品| 色AV天堂手机版| 老年女人碰碰碰视频播放| 亚洲精品免费看| 性男女做视频观看网站| IGAO为爱寻找激情在线看| 吃女邻居丰满的奶水在线观看 | 久久66久6这里只有精品7| 亚洲自偷自拍另类在线观看| 国产午夜精品一区二区三区三| 尤物92福利视频午夜1000合| 嘿咻嘿咻免费区在线观看97| 亚洲自偷自偷图片自拍| 欧洲免费无线码在线观看二区| 日本有码在线不卡| 亚洲免费精品一区| 国产高潮流白浆免费视频| 好紧好大AV| 未发育的小身子h小说| 夜色中文字幕在线| Chinese极品女神麻豆| 性小网站在线观看| 2022亚洲国产美女视频免费网站| 亚洲综合偷欧美激情| 2015AV天堂网免费| 中国免费xxxx视频| ~啊~嗯啊~受不了了~在线免费视频| 一级淫片AAA| 三上悠亚精品一区二区| 鲁丝一区二区| 在线高H免费视频| 跪求AV在线网站| 调教求饶视频导航| 久久久久久久综合综合狠狠| 亚欧色综合精品视频| 国产亚洲日韩欧美一区二区三区| 国产大全三级a午夜电影免费| 天堂亚洲中文字幕一卡| 在线中文字幕有码电影| 色多多www视频在线观看免费| AV 香蕉 在线| 亚洲成a人片在线观看高清| 丝袜制服影院首页| 91尤物在线点击进入| 国产福利在线永久视频| 又黄又刺激的免费网址| 亚洲色婷六月丁香在线视频| 久久资源网免费视频久久影音| 在线观看扣喷水漂亮18| 国产综合一区| 亚洲综合你懂的| 亚洲S色大片在线播放| 久久久久888| 孕妇网站在线观看导航| 久久精品夜夜| 系列一区二区水蜜桃| 大胆00年在线视频国产| 久久久精品免费齐齐| 天海翼一区二区三区高清在线| 午夜实验区视频在线观看| 国产精品有码無碼AV在线播放| 亚洲日本va一区二区三区| 国产高清在线精品一本大道| 一区二区三区精油按摩| AV免费午夜福利不卡片在线观看| 亚洲乱码中文字幕手机在线| 老熟女妇网站| 久久国产尤物麻豆名媛| 免費一级欧美精品| 亚洲熟女一区二区| 日本女人高潮视频| 淫日视频免费看| 欧美xxxx做受欧美88hd| 国产免费人成视频网站在线18| 99精品热这里只有精品| 2021狠狠的日狠狠的干| 亚洲作爱图欧美网站| 久久久国产一区| 高清性欧美暴力猛交BD| 亚洲一区二区三区 在线播放| 中国国产强奷在线播放| jyzz国产在线观看| 亚洲美色第一页| 欧美高清freexxxx性| 成 人电影 在线观看网站| 久久女色综网| 亚洲欧美一区三上悠亚| 2022最新高潮在线| 婷婷色五月综合色尤物| 国产在线视频大码| 你懂的免费在线| 日本视频一区二区三区h| 99国产欧美另类久久久精品| 日本亚洲美国不卡| 噜噜色,噜噜啦,噜噜网| 在线视频观看色| 成本人片在线观看免费| 国产高清精品私拍| 五月六月婷婷性综合| 最新AV基地在线观看| 久爱www人成免费网站下载| 天堂网国产69高清在线视频| 麻豆少妇让水电工爽了一下午| 国产精品久久久久麻豆| 日韩很黄很污的视频| mm1313又大又粗受不了| 夜夜夜看夜夜爽| 久热香蕉在线精品视频播放| 精品国产呦系列在线观看| 欧美黑人性暴力猛交喷水 | 国产无套白浆一区二区视频电视剧| 888狠狠狠狠7777米奇| 中文字幕有码视频| 日韩无砖专区2020| 亚洲自偷自拍图片区2008| 日韩欧精品码视频无删| 18久久一区二区| 久久99国产精品二区抖音| 在线观看免费人成视频色9| 亚洲色婷婷综合开心网| 杨幂午夜视频在线观看国产| 日韩AV激情制服丝袜另类| 情侣一区二区视频| 天天爽天天碰天天上| 日日摸日日躁夜夜躁| 99爱在线精品视频免费看| 国产情侣真实露脸在线| 美女直播喷水在线观看| 综合图区 第1页动漫图片| 国产乡下三级全黄| 国产美女尿口流白浆视频无遮挡| 十八禁网站丝袜高跟美腿诱惑视频在线播放 | 又黄又硬又爽视频好看| 国产精品欧美一区二区| AV网站网址在线播放| 国产污污污影院在线观看免费| CHINESE洗澡偷窥VOYEURHIT| 亚洲国产人午在线观看| AA级女人大片喷水免费视频 | 在线观看理论片一级| 国产无套粉嫩在线观看| 六月丁香婷婷色狠狠久久| 久久婷婷久久一区二区三区| 最近中文字幕完整免费视频| 亚洲精品国产情侣Av在线| 国产高潮痉挛在线视频| 呦男呦女精品视频八区| 精品久久久国产中文字幕| 一边吃胸一边揉下面的视| 国产精品推荐制服丝袜| 曰批全过程免费视频观看| 久久久久国产激情影院| 依依成人影视国产精品| 久久 精品动态视频| xxxx性欧美极品v| 嗯啊粗大视频在线观看| 精品玖玖玖视频在线观看| 国色天香社区视频观看| 日韩精品一区二区深田咏美| JK白丝班长胯下娇喘视频| 丁香五月激情综合久久鬼| 尤物国产在线| 精品丝袜国产自在线拍AV| 亚洲七久久之综合七久久| 国产aⅴ乱片| 亚洲欧洲视频一二三区| 色多多美女精品视频网站| 波多野结衣紧身裙丝袜AV| 国产粉嫩高中生第一次| 艾草在线精品视频播放| 伊人色天堂| 亚洲观看一区二区三区| 精品国产第一福利网站| 黑森林精品导航在线看| 第九色综合激情婷婷| 国产日产久久高清欧美一区AB| 亚洲午夜成人AV电影| 国产高清天干天天天| 久久中文字幕2023| 琪琪电影网午夜福利| 亲子乱子伦视频一区二区| 国产极品视觉盛宴分类| 波多野结衣一区二区三区黑人| AV尤物蜜芽每天在线播放| 国产在线另类一区| 白丝无内在线观看国产| 成年人视频在线看| 一区二区在线不卡视频| 精品 日韩 国产 欧美 视频| 国产精品 闺蜜| 亚洲伊人色婷| 亚洲一区二区三区香蕉| 国产一区亚洲欧美日韩| 好紧啊要射了网站视频| 国产小受18asian男男| 中文字幕aⅴ天堂在线| 2020天天狠天天透天干天天| iGAO网站视频| 国产亚洲情侣一区二区无| 国产精品色吧国产精品剧情简介| 午夜男女爽爽影院免费视频| 思思久久精品视频| 69堂午夜福利| 国产高潮刺激| 亚欧同人精品天堂| 精品一区二区三区| 亚洲日韩大陆一区二区三区| www久久国产| 亚洲AV制服丝袜系列| 英语老师掀起内衣喂我奶| yeyecao亚洲欧美| 久久久久久久岛国免费观看 | 先国产亚洲**精品| 强奷迷奷系列在线观看| 伊人大杳蕉在线影院视频| 51社区在线永久视频| 尤物AV在线| www日日夜夜操| 久久久久青草线蕉亚洲| 亚洲,欧洲AVAV| 中文字幕乱码日韩经典在线播放| 亚洲国产女人AV| 一级AV片尤物| 亚洲午夜福利院在线观看| 激情五月深爱五月丁香五月| 国产真实自在自偷| 最好看的日本中文字幕2019| 97精品h| 欧美三級片黃色三級片黃色| 亚洲精品私拍国| 中文字幕人成在线看| 国产美女精品一区二区三区| 极品美女扒开粉嫩小泬在线观| 久久久精品成人免费观看国产| 国产精品综合色区小说| 无套两女露脸双飞在线播放| 国产色按摩视频在线播放| 亚洲日韩第一页| 久久精品丝袜不卡| 日韩欧美A∨中文字幕| 中文有码在线嘿嘿视频| 在线午夜精品自拍小视频| 精品久久久久www| 亚洲男人的天堂一区二区| 亚洲成AⅤ人片在线观看无APP | 久久久直播三级| 90久久京东热加勒比一二区| 又紧又黄的免费视频网站| 被干到高潮视频| 亚洲专区 欧美专区 自拍| 国产麻豆色色资源| gv在线看片| 国产福利短视频影院| 中国同志GAY片在线观看| 大色五月亭综合俺去| 把美女日出白浆免费视频| 宅男深夜视频网站| 午夜嘿嘿嘿在线观看| 亚洲成综合人在线播放| h不要视频国产| 成熟女人国产对白视频| 啊用力快点我高潮了视频| 亚洲WWW午色夜在线| 天天精品视频一区二区| 国产粉嫩一区二区三区| 女高中生高潮娇喘流水视频| 白丝美女高潮视频| 喷潮视频| 在线观看国产在线观看污| 天堂福利在线欧美亚洲十八禁| 亚洲国产日韩在线人| 国产在线悠悠视频| 又色又爽又黄的视频,抽搐一进一出gif | 我爱亚洲天堂| 天天视频在线观看精品一区二区| 高潮在线看十八禁| 国产色多多| 看男女日皮视频在线观看| 日本小妹被我插的娇喘不停 | 黄瓜视频在线观看| 欧美色欧美亚洲另类二区| 亚洲色在线观看综合| 青青草原亚洲视频在线观看| 久久国产免费观看精品3| 国产精品二区三区免费播放心| 成人aⅴ国产在线| 白丝美女被啪到高潮视频| 亚洲人成电影在线天堂色在线观看 | 国产JJzzJJzz全部免费观看| 国内精品视频一区二三区不卡| 97婷婷狠狠成为人免费视频| eee线免费观看视频网站在线观看。| 精品不卡一区二区| 国产高清狼人香蕉在线| 国产鲁鲁视频在线观看鲁阿鲁| 十八禁污视频男男| 精品玖玖玖视频在线观看| 9热精品久久只有精品| 中文有码在线| 国产精品视频yjizz| 波多野结衣连续高潮不断| 欧美老妇人厨房乱子伦视频| 亚洲嫩模喷白浆在线观看| 亚洲首页一区免费任你躁xxxxx| yy6080熟悉的少妇| 亚洲国产美国国产综合一区二区| 91高清尤物视频| 中文字幕乱码亚洲无线码三区| 日韩AV免费| 久久香蕉国产线观看| 国产无遮挡在线免费观看| 亚洲污污视频厕所| 国产精品农村妇女α片| 91宅男的天堂在线观看| 加勒比中文字幕在线播放| 国产高清一国产AV| 激情综合五月激情综合五月| 国产精品VA在线| 亚洲 欧洲 日产 专区| 青榴社区免费视频在线观看| 11女女色综合网| 亚洲九九色| 91亚洲人成手机在线观看| yy111111少妇影院实战| 亚洲无尺码视频| 国产丝袜在线播放| 中文字幕无线码一区3dr| 午夜喷水视频在线观看| 97高清国语自产拍一极片| 久久伊人尤物视频| 天天爽天天摸| 亚洲在在线观看免费视频| 91白浆视频在线| 色福利视频导航| 国产兰桂坊人成社区亚洲| 国产又色又爽又黄| 亚洲专区 欧美专区 自拍| 国产精品视频无遮挡| AA级视频在线观看| yyhuan111111少妇影院在线| 国产亚洲精品视频白洁| 偷拍熟女亚洲另类| gv午夜视频在线观看| 亚洲成片在线观看| aV蜜芽中文字幕在线观看| 日本亚洲成免码| 天堂在线bt樱桃磁力搜索| 精品国产精品久久一区免费式| 手机在线的a站免费观看| 又粗又长又爽又大高潮视频| 国产精品岛国久久久久| 亚洲中文字幕日产乱码小说| 日日躁天天躁狠狠喷水| 国产精品免费福利电影网| 国产一级毛卡片免费| 国产男女午夜进出视频| 69精品网| 岛国十八禁免费在线观看网站 | 欧美成综合网网站| 午夜影院xxxx| 久在线精品一区二区三区| 综合图片一区亚洲小说区丁香| AV久草国产| АⅤ天堂最新版在线中文| 深夜在线视频观看免费视频禁18| 美妇肉蚌含龙头视频| 奇米影视777奇米弟四色| 啊啊嗯啊啊在线观看厂| 好吊色在线精品免费视频| 亚洲处破女WWW| 十八禁国产高清在线网站污| 亚洲中文字幕永久在线全国| 少妇人人网站| GOGO全球大胆高清人体| 尤物视频网在线| 96SAO精品视频免费观看| 午夜精品第一页| 97在线精品视频免费| 粉嫩国产白浆在线观看| 波多野吉衣免费一区视频| aaa级片高清手机在线观看 | 欧美另类极度残忍拳头交| 女人天堂久久| 精品视频一区二区三区| 国产帅男男GAY网站视频| 亚洲日韩中文字幕日韩Av| 后交XX00动态图| 精品国产免费人成电影在线看| 国产小视频丝袜在线| 杨幂久久精品| 国产免费1000集福利免费视频 | 国产交换配乱婬视频偷网站| 久久免费看少妇| 日本人又色又爽的视频| 国产级在线看免费观品善网| 免费播放h二区三区| 成人区精品一区二区不卡| 国产午国产午夜精华 免费| 亚洲se网| 又黄又粗又爽免费观看| 国产尤物在线视频| 波多野结衣床戏视频在线观看| 2022天堂亚洲视频在线观看| 亚洲专区一区二区在线| CHINESE精品偷拍| jk美女在线调教免费观看| 一区三区国产| 亚洲免费一二三区不卡视频| 亚洲一区二区三区在线电影| 2019年国产精品看视频| 国产69精品福利| 真人抽搐一进一出60分钟免费| 国产尤物在线观看| 性色欧美综合网| 日日摸夜夜操免费| 亚洲中字幕日产aⅴ| 农村最爽的乱惀短篇小说| 野战好大好紧好爽快点| 久久国产歌舞| 国产高中生无套| 久久九九热re6这里有精品| 国内精品自线一区二区| 中国少妇hb免费视频| 6一14幻女bbwxxxx在线播放| 欧美日韩视频777888| 公车痴汉媚药强抹在线观看| 黑人黑和白free欧美| 免费人成视频色| 337p日本大胆欧美人术艺术69| 中日韩在线视频观看欧美| 精品国产最大的调教网站| AV网址手机在线观看| 幺女网站国产| 久久大香线焦| 色综合久久88色综合天天| 在线h观看| 精品一区20p| sm免费人成虐网站| 日韩在线二区全免费| 国产aⅴ麻豆系列尤物| y111111少妇影院| 2022最新国产在线| 国产美女爽到喷水| 成人永久福利在线观看| 午夜福利高潮| 足 交 视屏在线观看| 黑人两根一起强进免费视频 | 久艹综合伊人网| 亚洲欧美色中文字幕在线| 亚洲色多多视频一区二区| αv天堂色| 2021亚洲国产成a在线| 欧美日韩中文字幕一区二区久久| 人成年免费视频一区二区| 亚洲中文字幕永久不卡视频| 国产美女弄出白浆| 婷婷六月激情在线综合| 国产激情导航| 2022AV亚洲天堂在线观看| H 番肉动漫视频大全在线观看| 久久精品国产只有精品96| 久久精品A国产一级漫画| 国产农村一级看片| 午夜白浆在线视频| 公和我做好爽完整版| 美女 两个人的视频免费观看| japanese国产永久| 国产剧情网红台湾在线观看| 91麻豆国产极品在线播放| 欧美成年免费一区二区| 尤物yw193coc在线观看| 国产激情一区二区三区| 美熟女A级作爱大片免费观看| …亚洲欧洲另类春色| 国产成 人 综合 亚洲不卡| 爱AV免费观看完整版| 2021中文字幕永久免费| 1769国产精品免费视频| 国产69精品福利| 亚洲最新aⅴ天堂| 中文字幕2021无线码| 国产在线精品一区二区高清不卡| 成年网站免费拍拍拍拍| 午夜影院美女被操| cao88888国产| 凹凸网站国产一区| 国产精品网站一起| xvideos国产中文在线观看| 国产女人高潮视频免费| 国内自拍日韩| 欧美变态口味重另类在线视频| 在线观看无套粉嫩| 一区等免费视频| 欧美三级韩国三级日本三级| 特黄一级一毛| 日本三级香港三级人妇少妇| 色综合久久中文字幕有码 | 放荡的女老板bd在线观看| 国产欧美国产精品第一区| 狼人大香伊蕉国产www| 精品国产经典三级在线看| 丝袜另类卡通动漫校园激情| AV性色在线观看| 东北少妇中文字幕无线乱码| 久久久久AV日韩| 国产欧美日韩一区在线| 老汉老妇姓交视频| 被摸到高潮视频| 综合伊人久久在| 美妇不卡在线视频| 网站在线观看污| 把美女日出白浆免费视频| 亚洲综合色在线视频www| 亚洲美女福利在线播放| 欧美性爱国产一区二区三区| 2021国产最新在线视频一区| 新激情五月天| 久久久久精品免费看| 国产AV精选久久久| 色AV天堂国| yy111111少妇影院免费观看光屁股| 影音先锋熟女少妇资源网| 老女老肥熟国产在线视频| 国产熟女乱子视频正在播放| 极品美女流白浆免费视频| 少妇久久网站| 雏女白丝玉足吞吐白浊液体| 国产精品萌白酱永久在线| 玩弄少妇水真多真紧视频| 久久美女,免费视频播放| h片网站永久免费| 暴力强奷美女孕妇视频| 高潮社区51视频在线观看| 极品少妇被猛地白浆直流| 香蕉欧美大胸视频在线播放| 亚洲尤物视频在线观看| 啊好爽轻点疼在线视频| 夜夜夜看夜夜爽| SPA国产第一页| 中文字幕亚洲男人的天堂网络| 国产小呦泬泬99精品| 河南少妇凸bbwbbw| 色www亚洲国产张柏芝| 天天视频H| XVIDEOS国产在线视频| 在线免费肉动漫福利导航| jizz在线观看| 日本福利网站午夜福利网站| chinesehd国产精品麻豆| 777奇米网影视第四色| 久久精品美女福利小电影网站| 中文字幕夫妇交换乱叫| 欧美一级黑人一级| 自偷自拍亚洲综合一区| 亚洲影院一区二区| 有码在线AⅤ| 亚洲一区二区三区在线观看网站| 午夜电影AV| 最新国产午夜精品视频| 国产极品视觉盛宴在线观看| Japanese?中文在线| 日本高清视频在线www色| 中文字幕在线观看亚洲视频| 被公侵犯肉体中文字幕无| 正在播放最新熟女俱乐部| sm另类一区二区三区| 国产欧美日韩一区二区图片| 欧洲在线视频免费视频| jyzzjyzzjyzz精品| 无遮挡十八禁在线视频国产制服| 女教师AV网站国产| 午夜福利图片网站| TUBE44VIDEOS欧美| 国产jizz,jizz视频| 国精品产露脸偷拍视频| Sao虎在线精品永久观看| 色久窝窝| 国产呦系列(753)视频观看| 老熟女导航精品导航| 波多野结衣天天在线一区 | 国内精品自线在拍2019不卡 | 视频欧美a级片| 久久久久国产激情影院| 精品国产专区91在线陈冠希| 嗯~嗯啊~~别摸那里~~嗯啊~ | JIZZJIZZJIZZ亚洲熟| 噜一噜色站| 国产大学生口爆吞精在线视频| 国产激情在线观看播放| 992精品视频在线| 18成禁免费观看搞鸡| 国产在线视频一区二区三区欧美图片 | 极品福利视频| g0go人体大尺香蕉| 福利国产私?线观看| 国产小屁孩cao大人| 久久精品国产亚洲无删除| 亚洲欧美国产日韩在线天天更新| a v网站在线看| 激情综合开心五月激情五月| 久久熟女网| 8x免费视频国产专区| 未成满18岁禁止免费观看网站| 美女扒开尿口让男生桶| 重口sm一区二区三区视频| 久久99精品久久久久久hb亚瑟| 在线观看国产小视频网站一二三| 香港三级日本三级三级韩级2一′2| 亚洲失禁一区二区| 中文字幕天堂网| 免费萌白酱国产一区二区| 亚洲精品人成网线在播放va| 久久AVHD| 天堂视频中文字幕| 亚洲国产最新在线一区二区| 国产精品欧美亚洲韩国日本久久| 波多野结衣不卡办公室| 天天欲色在线最新章节目录 | 亚洲日本无在线码播放| 超级伊人碰碰视频| 77P欧洲日本亚洲大胆| 丰满的少妇HD高清| 在线看情侣国产一二区视频| 亚洲国产A片| 自拍偷区亚洲综合美利坚| 国产动态图美女| y111111电影院少妇影院| 精品高清私拍在线视频| 杨幂被艹视频在线观看| 午日日日夜夜夜| 成品AV小说区在线看| 国产a亚洲欧美| 国产亚洲日韩欧美特一级| 日本精品一区二区三区四区| 3d动漫精品专区在线观看| 毛在线观看国产2020| 国产性色αv视频免费| 2020年亚洲天堂网| 自拍区视频区| 国产欧美va天堂在线观看视频| 国产精品久久一区二区三区| 五月天AV在线综合| 国产一区二区三区啪| 国内3P露脸免费视频| 国产日韩丝袜一二三区| 日日摸夜夜添夜夜添中文字幕| 国产精品色色自拍| 你懂得网址在线视频| igao视频社区在线播放| 两个人看的www在线观看| 有码 中文字幕| 亚洲人亚洲成综合网站_亚洲| 亚洲 欧美 日韩 人妖| 欧美性爱拍拍拍| 国产粉嫩在线| 五月天开心激情网|五月婷婷开心| 久久久久久久岛国免费AⅤ片 | 亚洲综合AV电影在线日韩AV尤物蜜芽| 国产AV高清网站| 18以下勿进色禁网站大全视频| 国产美女遭高潮白丝制服| ,亚洲s色大片在线观看| 337p美女在线视频| 你懂的,在线看| 亚洲a视频欧美| 在线亚洲视频影院网址| 高级会所口爆吞精在线观看| 色综合之老熟女人| 久久国内精品一区二区三区| 又黄又w的网站| igao激情在线| 国内精品大屁股白浆一区二区| 国产美女喷水出来| 国产欧美国产综合每日更新| 99久久免费精品| 永久AV在线播放| 张柏芝2008久久| 久久综合九色综合久桃花| 亚州色区免费视频大全| 欧美最猛性XXXXX一| 日本暴力强奷在线播放视频| 国产在线69| 高清自产拍Av在线| 久久性爱视频| 99久久精品国产自在首页| yy11111少妇影视| 性视频亚洲网站| 色综合久久狼人| 亚洲红杏成在人免费在线观看| 国产在线H观看不卡一区| 国产无玛精品一区二区三区| 大香伊蕉在人线国产最新75| 国产双飞在线| 手机欧美电影在线你懂得| 国产综合10p| 色 综合 短视频区| 2021国产精品一区二区在线| 亚洲国产一二| 亚洲成年人AV| 久久夜色精品国产网站| 99爱中文免费| 扒开双腿猛进入喷水视频| 国内精品老年人视频网站| 丰满五十路熟女高清免费视频| 2022AV在线免费观看| 风间亚洲中文字幕一区| 亚洲欧美日韩一区二区不卡五月丁| 国产午夜亚洲精| 尤物国产在线| 高潮奶水涨喷在线播放| 亚洲综合在人线播放| 厕所日批少妇视频在线观看 | 韩国aⅴ在线视频| 久久久久韩日精品| 高潮又黄又无遮| AV免费午夜福利不卡片在线观看 | 国产V在线在线观看视频| 亚洲同性男男黄g片免费网站| 忘忧草18岁勿进| 张柏芝精品一二三区在线观看| 夜夜爽夜夜叫夜夜高潮| 亚洲资源站中文在线| 亚洲有码第2页| 日本与青年少妇毛茸茸高潮| jzzijzzij亚洲一区二区三区成熟少妇 | 国产999免费在线视频| 国产午夜AV秒播在线观看| 亚洲精品第一国产综合高清| 风间亚洲中文字幕一区| 亚洲综合在线果冻| 色多多午夜福利网站| 77尤物精选在线观看| 好看的有码视频经典有码视频| 亚洲国产综合专区在线播放| 2020中文字日产幕乱码| 高潮娇喘嗯啊~在线观看| 亚洲成年女人综合网| 在线你懂| 与子的性关系真实过程| 粉嫩虎白女流水的视频| 国产精品嘿咻嘿咻在线播放| 尝尝少妇同事的味道| 男人的天堂2022网| 国产老熟女网站| 2021AV手机在线最新| 日日爱 小视频| 国产高清精品综合在线网址| 十八禁娇喘出水| 凹凸午夜福利| AV片在线播放| 亚洲一区二区三区小电影| 3Dh版动漫视频在线观看| 又黄又硬又爽视频| AV网站在线永久免费观看| 最近在线更新中文字幕| 中文字幕亚洲男人的天堂网络| 午夜福利天天摸夜夜做| 亚洲国产V高清在线观看 | 一本一道波多野结衣一区二区| 乱中年女人伦AV| 这里只有精品双飞在线播放| 国产黑色丝袜在线脚交| 国产AV主播网站| 动漫精品中文字幕首页| 国产偷窥熟女高潮视频| 又黄又潮娇喘的免费视频| 日本一线片在线看| 2020国自产拍精品网站ⅴr| 天堂网www在线最新版| 高中生做a视屏在线观看| 色WWW永久免费| 亚洲二区三区在线观看| 亚洲美女福利在线播放| 欧美日韩深夜福利网站| 男男♂动漫gv网站免费观看| 夭天爱天天爽| 又大又黄又硬的视频| 国产原创AⅤ女教师播放| 三级全黄的视频在线观看| 人前露出精品国产| 在线亚洲欧洲日产国| 亚洲性69影视| 厕所偷拍太清楚了10P| 波多野结衣亚洲| yy111111妇女影院| 大香伊蕉99大香伊蕉免费视频| аwww在线| 国产亚洲精品综合二区| 久久精品囯产精品亚洲| 一区二区亚洲| wWW国产浪潮aV| 免费视频久久久久| BAOYU131永久免费视频| 国产精品热门Jizz18| 动漫精品一区二区三区视频| 在线观看亚洲糸列| 久久精品中文字幕一区 | 狠狠cao高清免费| 在线中文字日产区乱| 国产精品第20页在线观看| 在线观看免费AV网址免费| 国产情侣动作自拍| 青青青视频分类国产在线| 玩弄未发育的小馒头缝| 亚洲不卡女人视频| 午夜男女XX00视频| 国产 AV 天堂| 亚洲欧洲中文高清| 久久尤物蜜芽网站免费看| 一本久道视频无线视频| 久久精品伊人一区二区三区| 在厨房被夫上司强迫中文| AV男人的天堂在线观看第三区| 国产A级不卡免费视频| 伊人久久少妇视频| 久久作爱网| 真人床震高潮全部视频免费| 少妇被黑人4p到惨叫| 无套两女双飞在线| 中国免费xxxx视频| 亚洲国产小u女在线| 东北老女人高潮粗暴对白| japanese精品久久中文字幕| 91AV美女窝窝网| 国产美女主播自卫高潮| 亚洲国产欧美国产综合久久| 人体在线影院| 香个色成长视频在线观看免费| 在线视频观看91| 亲热极品视频盛宴| 777色春国产| 又黄又刺激网站| AV极品一区二区| 国产灌醉系列闺蜜| tom快人成播电影网久久影院| 好硬好大好长好爽好多水视频| 黑人粗进入欧美一级| 国产丝袜视频在线| 嗯…舒服h视频大全在线观看| 爽~~~~舒服,好紧视频| 国产尤物在线观看| 韩国三级在线观看久| 最爽的老妇乱惀小说| 一本一道波多野结衣一区二区| 啦啦啦免费播放视频| 新版天堂资源中文8| 37tp人体粉嫩胞高清大| 影音先锋中文字幕亚洲资源| 18老司机深夜影院免费观看| yellow中文字幕资源| 午夜小视频污天天视频| 日本无遮挡吸乳叫声视频| 亚洲一区二区电影视频| 欧美日韩免费一区二区三区| 成年女人网站免费视频播放m| 亚瑟国产精品久久| 国产美女裸精品视频| 伊人久久大香线蕉理论| 国产黑色丝袜免费网站| 国产午夜福利亚洲第一| 极品粉嫩福利午夜在线播放| 久久 久久 久久 精品免费| 点击进入国产激情视频| sm免费人成虐网站| 日日夜夜综合网| 欧美成亚洲成在线| 中文字幕亚洲一区二区三区,| 先锋影音va中文资源亚洲| JIIZZJIIZZ老师水多在| 最好中文字幕视频| 91精品日本国产品免费观看| 精品精品国产男人的天堂| 在线视频一区二区三区| 久久水蜜桃网国产免费网站| 国产亚洲香蕉线播放ΑV38| 最新国际偷拍福利视频| 东北女人水多毛多免费看视频| 97se爱亚洲综合| 91高清免费国产自产拍| 2021年国产视频手机在线| 精品国产经典三级在线看| 午夜性动态啪影院| 草蜢社区国产AV| 五十路丝袜熟女视频| 18岁以下禁止进入的网站| 91亚洲美女视频| 永久天堂网Av| 久久国产亚洲欧美久久| 在线观看人成视频免费| 又色又刺激的视频网站| 征服轻熟女少妇系列全文阅读| 91精品日本国产品免费观看| 国产免费AV女| 乱妇熟女| 爆草熟女| 999精品色在线播放| 杨幂久久BB| 精选国产日本韩国三级| 国产久爱视频在线| 尤物AV网站| 337p日本欧洲亚洲大胆人人| 亚洲 综合社区| www优物在线亚| 2020天天色| 亚洲综合你懂的| 成年视频免费看拍拍拍| 乱刺激视频网站| 制服丝袜自拍另类第1页| 天天做天天爱天天做天天吃中文| 草影院线观看免费观看| 性欧美13处14处破在线观看| 午夜福利日本在线观看| 美国成年网站视频免费影院| 俺去鲁婷婷六月色综合享| 777色春国产| 青青青伊人色综合久久| JIZZ国产在线播放| 欧美亚洲精品影院| 久久久精品少妇| 少妇太爽了在线观看| 国产精品白浆永久网站| 国产精品青青在线播放| 波多野结衣性爱网站| 狠狠操777| 曰本美女无遮挡网站| 老师久久高潮视频| 沈阳少妇高潮在线| 中文字幕在线不卡一区二区| 啊灬啊灬啊灬快好喷水| 国产免费A∨在线播放| 久久综合亚洲色HEZYO国产电| AA级九九视频| 2021年新国产免费观看| 亚洲va久久久噜噜噜久久一| 亚洲永久精品ww47 91女女 | 久久露脸国产精品| 美女的小泬泬流爱液视频| 欧美国产日韩久久mv| 亚洲精品人成网线在播放va| 日本爱电影久久| 啊啊啊,欧美wwww视频在线观看| 欧美性猛交| 日韩AV激情制服丝袜另类| 五月天视频网址导航大全| 欧美乱强伦xxxxx| 伊人尤物视频在线观看| 精品国产123| 99re66久久在热青草| 少妇美女AV片在线| 国产美女AV在线免费观看| 综合图区亚洲10p| 最近韩国日本免费高清观看| 久久人人爽人人爽人人爽| XXXX18日本视频XXXXX| 女生十八禁不遮不挡网站| 不卡视频在线观看 品赏网| 亚洲国产V高清在线观看| 丝袜精品 欧美 亚洲 自拍| 午夜影院小视精品久久啦| A末精品| 无遮挡很爽很黄的网站| www激情| 国产一级淫片A…| 国产2022最新精品露脸视频网站| AV在线天堂进入| 亚洲成A人片在线观看历史| 亚洲人妖性爱手机视频| 国产免费污污网站| 亚洲无线观看国产色多多下载| 河南熟女露脸高潮| 女人一区二区三区视频| 不卡一区二区视频高清在线观看| 亚洲综合色区在线播放剧情简介| 在线观看黄v免费网站免费| 高潮不停抖动波多野结衣| 亚洲欧洲日产第一页| 老师把腿抬高撕开白丝袜视频| 国产精品自在线午夜精华福利| xxxx18一20岁hd第一次| 色小姐影音先锋2018| 制服丝袜自拍另类第1页| 亚洲日产2020乱码网页| 未成满十八禁止免费网站1| 欧美中文字幕一区,二区,三区| 肥大BBwBBWBBw高潮| 又大又湿又紧 视频| 张柏芝精品一二三区在线观看| 香港三级a∨在线观看| 999精品色在线观看| 亚洲综合五十路在线| 99RE6在线观看国产精品| 国产片午夜福利| 午夜影院国产| 国产黑色丝袜视频在线观看下| 亚洲AV极品视觉盛宴| 狼人久久中文字幕综合| 天堂网WWW在线资源| 久久夜夜bbbb| 色友国产精品| 国产麻豆私拍精品视频| 国产高潮大叫在线播放| 好涨好爽好硬免费视频国产| 亚洲天堂在线免费观看| 国产免费人成视频在线观看| 日本韩国免费一区| 欧美日韩精品一区二区三区高清视频 | 哄骗刚成年14分钟完整版图片 | 欧美v成 人在线观看| 大色五月亭综合俺去| 免费a∨中文高清乱码专区| 日本少妇一二区| 国产精品久久久精品| 极品视觉盛宴在线播放| 色综合A怡红院怡红院| 国产午夜精品一区二区三区在线观看| 色拍自拍亚洲综合图区| 成人AV高清不卡在线| 日日干日日舔| 女人AV天堂| 丁香五香天堂网| 日本久久久久亚洲中字幕| 午夜福利秒播| 亚洲60路视频| 老师久久高潮网络视频| 亚洲精品久爱网站| 波多野结衣久久aⅴ不卡 | 国产精品17p| 午夜少妇福利水多多| 99久久A| 被啪到爽哭试看视频| 欧美日韩乱国产| 色窝窝蝌蚪网| 精品国产高清自在线一区二区| 精品久久久清纯| 性爱一区| 亚洲ⅴa国产片| 国产精品自的拍播放| 国产精品1000部在线观看| 特黄一级国产免费播放| Chinese男学生打桩Gay| 正在播放刚结婚的少妇| 精品国产亚洲福利一区二区| 久久精品国产亚洲天堂| 精品动漫第一页在线观看| 国产在线aⅴ精品人妖| 日韩AV手机在线观看蜜芽| 久久免费经典视频| 中文字幕色综合| 亚洲国产综合精品2020| aⅴ精品导航| 亚洲国产欧洲综合997| 十八禁日韩AV在线免费观看| 天天Av天干| 午夜福利非会员体验区120秒| 曰批全过程免费视频观看软件下载| 大象回家视频一区二区| 国产午夜影院| 日本网站在线看| 国产迷姦播放在线观看| 成人a大片在线观看| 2012中文字幕第一页| 91精品国产福利在线观看你| 夜夜添夜夜添夜夜摸夜夜摸| 国产乱通伦| 69性影院在线观看国产精品87| 下面好湿好想要香蕉国产在线| 强奷乱码中文字幕| 亚洲天堂影音先锋| 国内自拍日韩| 四十路の五十路熟女豊満| 国产成 人 综合 亚洲欧美| 最新地址国产在线| 国产A在亚洲线播放| 天天摸天天做天天爽2020| 99爱视频99爱在线观看免费| yw尤物在线观看| 两性午夜性刺激在线观看| 黑人chinese中国china国产| 日本少妇激情也疯狂视频| j国产AV一区二区| 国产精品制服一区二区| 麻豆娇妻偷情视频| 亚洲永久精品ww47| 五月丁香激激情亚洲综合| 高h肉辣文公交车系列| 理论片免费视频观看影片| 一边摸一边捅视频| 好疼啊好硬啊别视频| 深田咏美国产一区| 国产精品www久久| 天天爱天天做男人的天堂| 亚洲幻交视频在线播放| 久久国内精品自在自线400部| 真人批批视频120分钟| 被揉得好爽视频| 18出禁止看的啪视频网站| 伊人二本二区| 外国小屁孩cao大人| 久久中文字幕2021精品| 国产2022最新精品露脸视频网站 | 高级会所口爆吞精在线观看| 被公牛日到了高潮| 久久国产精品免费观看| 波多野结衣在线成人精品| metart精品白嫩的asspics| 亚洲综合图区小说专区| 亚洲国产一区二区波多野结衣| 日日摸日日射| 国产美女脱的黄的全免视频| 亚洲免费在线观看日韩| 国产午夜精品一区一区三区| 国自产偷精品不卡在线| 国产丝袜美女出水| 午夜免费福利电影院| 国产v日韩v欧美v视| 337p粉嫩日本欧洲亚洲大胆| 天天插夜夜操美女图| 91尤物视频盛宴| 疯狂做受XXXX在线| 杨幂被艹视频在线观看| 正在播放国产真实灌醉| 色色福利视频| 国产AV美丽女教师| 久久99精品久久久久久hb| 极品少妇午夜福利水多多| 性色国产网站| 97超级碰碰碰碰久久欠久| 又爽又刺激高潮视频免费观看| 日日摸夜夜操免费| 亚洲大肥熟女四五十路| 我和漂亮的妽妽发生了性关糸| 高h视频中文有码| 最新亚洲人成网站在线影院| 久久99国产精品三区| 一区二区视频| 娇嫩 白浆 在线播放| 大学生男女真的曰批视频| 大伊香蕉在线精品视频| 亚洲午夜理论中文字幕| 少妇挑战三个黑人惨叫4P| 变态调教另类视频| baoyu777.尤物| 极品美女Aⅴ在线观看| 国产南昌男女在线| 国产片免费福利片永久| 白丝美女被狂躁免费网站| 伊人五月综合| 亚洲国产欧美在线看| 狠狠频道一区二区三区| AVtt手机版天堂网国产| 中国产看美女AV| 国产综合色香蕉精品五月婷| 午夜拍拍拍无档视频免费qq群| 婷婷激情五月综合综合| 久久精品视频不卡a| 日韩中文字幕综合区| 久久99国产精品三区| 高清偷自拍第1页| 日本免费一区二区三区不卡在线观看| 在线视频提供日本高清视频在线一本视频 | 国产一级婬片免费放| 婷婷久草骚虎视频久草视频| 国产精品欧美一二三区四区 | 要高潮了好大好舒服快点视频| 自拍第9页欧洲制服| 天堂网www在线资源男男| 51社区在线永久视频| 午夜久久久久| 又粗又黄又猛又爽大片免费| AV在线免费下载的网站| 久久只有这精品99正在播放| 国产精品边做奶水狂喷| 国产一区二区在线视频播放页 | 少妇性俱乐部纵欲狂欢在线观看 | 亚洲综合网址| wwwxxxxx在线观看| 亚洲成a人片在线观看国产| 亚洲精品私拍国| 亚洲国产无吗| 国产高清无套内谢| 国产乱辈通伦影片在线播放| 777奇米网影视第四色| 你懂的,在线看| 大学生久久香蕉国产线看观看| 重口扩张女神roxyraye各种玩 | 日韩欧美另类小说| 欧美日韩一级夜添| 杨幂久久BB| 69堂国产精品视频| Av在线手机国产| 国产极品久久久久极品| 天堂在线欧美阿V天堂视频在9| jizz国产大全免费关看| 日韩在线AⅤ视频| 国产丝袜被操视频国产在线观看 | 国产精品浪潮Av| 国产呦系列在线观看免费| 在线播放十八禁视频无遮挡| 韩国福利二区| 欧美精品v欧洲精品| 大屁股国产在线观看| 欧美性色欧美A在线墦放| 又黄又爽又粗又长又大视频| XXXX高潮国产| 国产精品无修观看| 丹麦大白屁股xxxxx| 欧美最猛黑人XXXX黑人| 中文在线А√在线| 久久麻豆亚洲精品| 国产又色又刺激高潮视频| 啊灬啊灬啊灬快好喷水| GOGO人体大胆高清专业免费下载| 国产丝袜第一页| 午夜A视频免费在线观看| 啊视频欧美日本| 特级婬片女子高清| 国产最新白丝免费视频网址| 国产污网站在线观看15| 免费乱理伦片在线观看2017| 页草草影院ccyy| 97超级碰碰碰碰久久久久| 扒开腿揉捏花蒂视频在线| 曰批全过程免费视频观看| 国产欧美亚洲日韩精品专区| 亚洲视频一区二区三区久久| 在线精品不卡娇小初叫videos | 九九99线视频在线观看| 中日欧美韩国在线观看| 国产欧美成aⅴ人高清| 国产AV一区二区三区香蕉h| 亚洲色大成网址在线观看| 热久久免费费视频| 一区二区午夜福利试看| 亚洲作爱网站久久久| 国产午夜福利不卡麻豆| 亚洲综合网中文字幕| 欧美性爱在线观看| 久久精品国产99国产精品最新| 国产精品99久久| 喷水在线播放| 国产高潮大合集操到抽搐不止| h国产小视频福利在线观看| 日本嗯啊不要,视频| 最近韩国日本免费高清观看直播| 中文字幕精品第一区二区三区| 麻豆国产原创视频在线播放| 最近亚洲国产网页AⅤ| 视频一区二区日韩中字久久| 妺妺窝人体色www聚色窝| 午夜精品第一页| 最新网址在线观看你懂的| 97SE爱亚洲综合图集| 亚洲日韩 自偷自拍| 老年女人碰碰碰视频播放| 国产曰韩Av在线| 又色又爽又黄又无遮挡的网站| 亚洲动漫偷拍另类校园| 亚洲人成网站18以下禁止| 老女老肥熟国产在线视频| 情侣作爱视频网站| 97视频刺激激情免费观看| 色哟哟国产在线| 韩国福利专区在线观看| 综合图区亚洲欧美另类图片| 自拍第9页欧洲制服| 国产w在线| 爱情岛论坛网站十八禁| 香港特黄一级视频| chinesehd国产精品麻豆| 在线操白浆美女高潮| 色老板免费线观看ww| 国产高潮快点再用力| 国产视频艹逼大屁股| 国产在线2018国语精品| 永久免费观看美女赤裸的网站| 69天堂在线视频| 一级幺女Av片在线观看| 浪潮免费性爱视频| 日本韩国香港一区| 日韩有码在线不卡视频| 亚洲国产精品一区二区三区在线观看 | 97热精品视频在线观看| 日本小妹被我插的娇喘不停| 亚洲色动态视频| 国产精品私拍一区在线| 2021水滴真实偷拍集锦| 国产精品20p在线观看| 国产午国产午夜精华免费| 一进一出福利免费视频| 国产AV 品爱| 色午夜在线观看网址| 午夜福利精品亚洲不卡DY888| 色妞窝在线视频| 波多野结衣办公室57分钟| 538国产精品小视频| 亚洲精品AⅤ| 午夜福利激情| 成品AV小说区在线看| 亚洲AV一本岛在线播放| 2020国自产拍精品天天更新| 亚洲色大成网站www国产| 成年女人免费播放专区| 亚洲处破女AV日韩精品| 午夜福利视频xxxx| 亚洲成男香蕉在线观看| 国产3P自拍| 国产欧美亚洲精品第一页青草| 久久精品国产自清天天线| 人成年免费视频一区二区| 日本免费A片一区二区三区| 啊啊插啊男人天堂A√在线| 2012年中文最新免费视频| 家庭 日韩 欧美 激情| 女百合精品久久| AⅤ日本亚洲欧洲免费| 老妇炕上偷老汉视频露脸| 国产精品igao 视频| 2021久久国自产| 永久免费精品性爱网站| 最新国产午夜福利| 日韩久久久久久久精品电影| 国产各种高潮视频| 日韩精品欧美喷水| www.91尤物视频.| 国产孕妇露脸免费视频| 最爽的交换疯狂的交换视频| 欧美一本大道香蕉综合视频| 国产黑色丝袜有内视频在线看| 国产偷国产偷高清精品| 操B小视频国产| 性XXXX视频播放免费直播| 亚洲国产一区自偷| 亚欧乱色国产精品| 成年女人永久免费观看视频| 国产特黄AV| 成 人3D精品动漫在线播放| 天天做天天愛天天爽| 最刺激黄a大片免费观看下载| 37tp人体粉嫩胞高清免费视频| 激情A∨无遮挡在线看| YW19 CAN国产在线观| 99久久免费精品,不卡视频| 好黄好湿的视频| 在线观看国产污的网站| 中日韩一区二区三区中文免费视频| 欧美作爱视频在线看| 亚洲尤物精品自产拍在线观看| 好爽~~~嗯~~~再快点视频| 真人作爱免费视频禁| 美女大学女一二三区| 国产深夜福利| 在线视频精品一区二区三区| 俄罗斯疯狂孕妇孕交| 一国产欧美色性| 多人强伦姧孕妇免费看| 日本a区精品| 亚洲性爱有码97| 亚洲男人的天堂aⅴ在线视频| 亚洲午夜间视频| 亚洲五月综合缴情在线| 欧美最猛性开放2ovideos| 狼人综合免费视频在线| 国产亚洲色内内电影网站| 夜鲁夜鲁很鲁在线视频 视频| 国产精品美女亚洲| 国产女做a精品免费视频| 男人j进女人p免费视频网站| 一区二区三区波多野结衣| 操欧美大波美女视频| 多人中出AV在线播放| 国产专区 制服丝袜| 2022国产小视频在线免费观看| 国产清纯美女高潮出白浆直播| 98福利区午夜孕妇| 夜夜欢性恔真人免费视频| 一区二区三区免费电影| 国产日韩āv在线| 大杳蕉狼人欧美全部在线| 豪妇荡乳1一5潘金莲| 国产最新自拍网站| 国产情侣激情在线视频| 亚洲国产一二| 久久婷婷综合激情亚洲狠狠| 99精品高清视频一区二区| 亚洲两性视频一三区| 国精品午夜福利视频不卡| 少妇春药痉挛按摩高潮| 国产在线导航| 九九99线视频在线观看| 在线观看激情小视频免费| 2021自拍偷在线精品自拍偷| 亚洲GV免费在线| 免费蜜AV网站| 亚洲一区二区三区小电影| 男女真人后进式猛烈动态图视频| 免费观看扒开校花的粉嫩小泬 | 嫩草未满十八在线观看| 2018国产大陆天天弄| 99热这里只有是精品5相关99| 夜夜高潮次次欢爽AⅤ女| 日日摸日日碰日日狠狠| 天天摸天天做天天爽天天舒服| 亚洲人成网a在线播放| 亚洲一区二区三区 公司| 波多野结衣一级AV| AV香蕉网站| 久久青草费线频观看地址| 亚洲色大成网站www下面看| 最新91国内精品| 被水电工侵犯系列AV| 亚洲国产成在人网站天堂| 91麻豆国产自产在线观看| 有码在线AⅤ| 性荡视频播放在线视频| 久久综合电影777| 伊人蕉久电影院| 好粗好硬好大在线观看视频| 久久影院迪丽热巴被啪出水| 透女人最爽视频| 屁屁影院国产| 狠痕鲁2021国内揄拍国内精品| 国产精品亚洲一区二区在| 国产67久久久噜噜噜| 中国的一级性爱视频| 在线观看亚洲糸列| 久久撒尿视频下载| 正在播放老熟女人与小伙| 久久久老熟女| 九月婷婷色色| 国产亚洲日韩欧美另类丝瓜| 72种姿势欧美久久久大黄蕉| 国产歌舞一区二区| 扒开黑森林福利视频免费看| 一本大道香蕉青青久久| 四十,五十路丰满熟女中出| 欧美自拍亚洲综合图区| 中文不禁18| 欧美白浆都流出来20p| 91亚洲第一永久网站| 亚洲天堂xxxx| 亚洲久热| 张筱雨两腿肉门打开图| 日本护士吞精囗交图| 国产午夜免费不卡精品理论片| 爆草熟女| 国产色爽女| 97总站超级碰视频| 真实灌醉高中生的国产| 一本大道久久精品| 人与动人物xxxxx视频| 正在播放女子高潮大叫要 | 欧美日韩中文一区| 十八禁网站gay| 又色又爽又高潮国产视频播放| 6080福利网午夜福利| 日本视频一区二区三区| 偷大战少妇激情在线播放| h在线免费| 揉捏花蒂喷水在线视频| 97二超级碰碰久久久久| 在线不卡高清播放AV网站| 性xxxx视频免费| 国产高清视频在线观看完整版| 精油按摩强奷完整视频| 久在线精品视频线观看| 曰批视频全部过程免费观看| 国产偷窥熟女高潮精品视频| 一级看片免费视频囗交| 亚洲色婷婷爱婷婷综合精品| 被老男人强奷很舒服好爽好爽| 依依成人亚洲综合| 99色亚洲| 女人性高潮白浆视频一二区| 日本视频免费高清一本18| 国产精品亚洲艾草网| 你懂的综合在线| 在线性在线视频播放视频播放视频观看| 无遮挡又爽又刺激的动态图| 伊人天堂综合| 色7777在线观看| 黑人顶到深处高潮颤抖| ,亚洲s色大片在线观看| 亚洲有码AV中文字幕| 白嫩小受男同GV| 国产精品香蕉在线观看网| 久久久亚洲欧洲日产国码aⅴ| 免费视频网站嗯啊轻点动漫| 亚洲全国最大的色惰网| 在线看片网址jk| 大香伊蕉在人线免费视频| 女人无遮挡天堂| 国产三香港三级J| 国产调教视频免费专区| 国产强奷视频在线观看| 高潮尖叫免费视频| 中文天堂最新版在线网| XX00美女免费视频| 韩国 日本 亚洲 国产 不卡| 亚州精品日韩久久| 黑人一级视频精品| Xvideos人成免费视频| 久久精致一级爱片日产| 一级A午夜福利免费区试看| 亚洲观看AV网址| 韩国床震高潮60分钟视频娇喘| 90后极品粉嫩小泬图片| 国产日本无吗无卡一区二区| 结衣女免费在线观看| 办公室揉弄震动嗯~动态图| 高清人人天天夜夜曰狠狠狠狠| 色内内在线观看视频| 久久88女同性午夜福利| 国产免费1区2区| 男人j桶女人屁免费网站| 全球AV导航在线观看| 精品国产1024| 玩弄美妇系列熟女视频| 国产h视频在线观看| 2020国自产拍系列精品| 不要,啊啊啊我,高潮了视频| 超猛烈动态图| 又硬又粗又黄一区二区视频| 欧美换爱交换乱| AV在线嫩模| y1111111少妇影院在线观看| 亚洲欧美国产免费综合视频| 有码高清在线视频| 亚洲AV优女天堂熟女| 亚洲国产另类久久久精品网站| 国产欧美现场VA另类| 国产嗷嗷叫高潮快点再用力视频 | 亚洲成aⅴ人片天堂网| 午夜福利小电影| 成年女人男人免费视频播放| 狼人色综合伊人| 丁香五月天婷婷激情六月| 幺女无毛不卡视频在线观看| 国产XXXXX在线观看无遮挡| 久久国产美女精品久久 | 国外网禁泑女网站| 亚洲天堂xxxx| 又爽又黄又无遮挡的激情视频最新章节| 乱码精品一区二区三区| caopo超在线视频97| 久久久久久精品免费| Av 动漫H肉在线观看| 亚洲日本韩国国产| 97色婷婷手机在线| 被窝里成年视频在线观看| 亚洲国产人成在线观看69网站| 国产关晓彤AV在线播放| 色女人综合| AV淘宝国产首页在线观看下载| 野花视频在线观看免费完整版6| 盗摄激情| 亚洲欧美在线aaa| 久久久久久精品推荐| 幺女无毛不卡视频在线观看| 亚洲欧洲日韩性视频在钱| 欧洲极品少妇乱又伦| 国产风韵犹存丰满大屁股| AV一区二区三区| 在线亚洲福利片| 日韩 精品 综合 丝袜 制服| 自偷自拍亚洲精品| 国产精品6080| 风间由美一本精品久久久| 杨幂被遭强奷倒高潮在线观看| 成人永久免费高清视频在线观看| 白丝少妇喷水网站| bl国产免费一区二区三区bl| 久久99热精品深田咏美| 欧洲午夜福利视频| 国产 papa 在线视频| 五月丁香六月婷婷A V| 高清性色生活片免费| 国产一级性生活片| 人人天干天干啦夜天干天天爽| 天天爱天天做久久狠狠| 色呦呦在线免费视屏| 久久69精品久久久久r h| 又黄又湿又免费视频| 国产女人喷浆抽搐高潮视频| 欧美成 人影院在线观看| 国产精品夜间视频香蕉| 久久精品亚洲国产AV麻豆| 又粗又大又黄又爽免费视频| 国产无遮挡污在线观看免费AV| 国产农村艳妇AV专区免费观看| 久久精品视频不卡a| 91麻豆精品国产91久久久久久| 在线看片人成免 费无遮挡| 又大又爽视频| 2021国产微柏精品一区| 欧美日韩综合精品一区二区| 国产激情导航| 7777欧美成是人在线观看| 456性欧美在钱视频| 国产精品亚亚洲欧关中字幕| 伊人大香线在线播放| 日本H视频在线观看| 2022男人在线资源| 导航免费福利视频黑人| 波多野结衣天堂网| 高清成年美女网免费视频| 在线色日韩AV| 亚洲女同同性videos| h视频无遮挡免费网站| 欧亚一级视频高清在线| 国产大屁股视频免费区| 影音先锋大黄瓜视频| 天天躁夜夜躁狠狠综合| 在线波多野结衣AV诱惑| 久久久亚洲精品免费网站| 嗯啊高H在线观看| 综合亚洲图片一区在线| 东京视频一区在线观看| 欧美性欧美巨大黑白大战| 日韩一级婬片漂亮的老师| 日本一区二区在免费观看喷水| 国产高潮美女| 国产精品粉嫩在线播放| 毛多水多茸茸的撒尿| 丁香狠狠视频| 色多多久久精品视频2022| japanese国产高清免费| 777米奇影院亚洲视频| 亚洲最大的网站在线观看| 婷婷丁香五月激情综合在线| 波多野结衣Av直接播放| 在办公室被老板c到高潮视频| 亚洲一区在线观看尤物| 久久狠狠中文字幕2017| 亚洲乱片| 678五月丁香在线亚洲综合网 | 双飞女教师的屁股眼| 故意短裙公车被强好爽在线播放 | 亚洲处破女 www| 老妇炕上偷老汉视频露脸| 1000拍拍拍无挡视频免费| 性高潮久久久久久久| 亚洲天堂欧洲| 日韩中文字幕v亚洲中文字幕| 痉挛喷水在线观看| 在线观看国产技师| 成人免费午夜福利片在线观看| 亚洲色大成网站www韩国黄| 妇女色v中文字幕| 呦女污污网站| 国产日产欧美A一集在线观看| AV福利网中文字幕| 国产精品色吧国产精品| 国产女主播高潮在线观看| 中国熟女高潮视频| 国产特黄AV| wwwyw国产在线视频| 日本男男喷水视频在线观看| 国内少妇一级A片视频| 伊人少妇75在线视频| www.mm131麻豆视频| 天天曰人人夜夜爽| 中文字幕乱码亚洲∧V日本| 国产AN国产精品| 国产丝袜久久| 日女AV天堂| 欧美福利网| 亚洲欧美国产青草青青| 免费国产无遮挡又黄又爽| 18久久白丝| 96国产婷婷| 久久久精品午夜免费不卡| 欧美三级免费看| 北条麻妃一区二区高清| 粗大猛烈进出高潮视频大全国产| 国产又色又爽又黄的视频首页| 成人福利片在线观看网站福利| 日日添夜夜添夜夜添欧美 | 在线亚洲人成电影网站色www| 俺去了俺来也在色线播放| 丁香五月激情图片| 王色99网站| 亚洲 日韩 蜜| 在线观看h男同| 范冰冰欧美日韩中字| 在线欧美三级在线高清观| 中文字幕亚洲一区二区三区,| 中国人XXXXX69免费视频| 大屁股熟女白浆一区二区| 国产精品视频线观看26uuu| 中文字幕午夜福利片在线放映| 美腿丝袜一区二区| 五十路欧美综合| 亚洲综合在线另类色区奇米777| 在线观看国产丝袜视频| 国产高清色高清在线观看| 国产网红AV在线观看| 午夜理论蜜臀| 三级a啪视频| 91护士在线观看| 久久综合网天天五月天丁香婷| 国内精品久久久久久久电影视| 国产vr精品专区| 国产日韩一区二区三区免费高清| 亚洲色老头在线| 久久99久久99精品免视看| 黄频在线观看免费分钟视频 | 白丝美女被操网站| 别揉我胸~嗯~啊~的叫视频| 亚洲图欧美片色区| 久久曰热久久思思精品| 欧美一区二区激情三区| 第一福利导航视频| 在线免费观看你懂的| 08日本一区二区三区视频| 完整观看亚洲理论在线a中文字幕| 久久综合欧美日韩亚洲国产| 中文字幕 第2页| 岛国一区二区三区视频在线观看| 久久久久久久久美女| 888米奇四色狠狠下| 最近更新97高清国语自产拍| 97视频这里只有精品| 少妇111111影院| 2020日韩在中文字幕在线| 日韩精品欧美国产精品忘忧草| 国产遭强高潮视频| 自拍区视频区| 无福利一区二区三区| 另类 亚洲 图片 激情 欧美| 久久精品国产黄瓜| 最黄最刺激的网站| 校花高潮抽搐喷水视频舔下面| 国产粉嫩00| 国产高清乱码又大又圆| 俄罗斯一级aV免费观看 | 亚洲精品国产品国语在线| 国产喷水白浆| 国产迷晕漂亮大学生| 亚洲AⅤ熟女五十路中出| 在线观看扣喷水漂亮美女网站| 高清性欧美ⅩXX| 在线播放自偷自拍| 亚洲色大成网站在线观看 | 呦泬泬精品导航| 大胆中国少妇毛茸茸| 真人XO无遮挡gif动态图图| 美国成年网站视频免费影院| 高H肉视频网站链接| 午夜亚洲视频| 2019久久久精品 综合查询| 野草视频在线观看免费最新| ZZIJZZIJ亚洲日本少妇| 狂乱男女视频| 色777狠狠狠缘综合| 99久久国产综合精麻豆| 成上人色爱欧美一区二区| 午夜影院打几把操| 777米奇在线观看视频国产| 国产亚洲国产国产亚洲| 车车好快的车车污真人网站| 野花日本大全免费观看中文7| 日日摸夜夜添夜夜免费视频 | 日本一区二区视频在线观看狼人| 亚洲红杏在线| 永久免费播放一级A片| 国产精品夜间| 又色又爽又黄的视频大片| 高清网站少妇| 成年动漫在线看网站免费| 国产微拍不卡无毒| DY888午夜国产精品| 中文字老妇女偷乱视频在线| 未满岁18在线观看国产| 伊人天天躁夜夜躁狠狠| 国产免费Tv视频| 亚洲免费gv| 国产91亚洲福利精品一区二区| 国产精品区AV| 色老头久久综合网老妇女| 激情丁香色婷婷中文| 久久社区久久久久| 亚洲成AV人片在线观看天堂无| 国产黑色丝袜高清在线播放| 国产无内肉丝精品视频| YY6080福利午夜理论影视| 激情中文丁香激情综合| 美女扒开尿口让男生桶| AV鲁丝一区鲁丝二区鲁丝三| 亚洲狂野国产AV| 亚洲天堂视频网| 白丝无内在线观看国产| 五月婷婷2019| 日本欧美视频在线观看| 久草免费在线视频| 国产女主播福利| 国产高跟长腿丝袜脚交视频| 免费高清欧亚高清视频在线观| 作爱国产男男| 日本亚洲色大成网站.www| IGao在线播放观看| 亚洲色大网站www永久网站| 性欧美18-19sex性高清播放| 大学生露脸无套在线视频| 啊~嗯~在线视频| 伊人久久大香线蕉午夜| 日美中文字幕| 亚洲国产综合专区| 观看片免费人成视频| 久久HEZYO色综合| 无遮高潮国产免费观看| 日本在线观看伊人网| 技师国产在线观看| AV手机版在线| 圆产三级在线免费观看| 啊哦男女快用力嗯动图| 国产嘘嘘在线视频| 第一幅利偷拍500| 女同磨豆腐喷水H视频| 超喷潮AV网| 在线视频免费观看不卡| 殴美亚洲动漫视频| 成在线人永久免费视频播放品赏网| 中国激情老熟女| 国产美女裸露免费看视频| 尤物精品资源YW193网址| 菠萝蜜国际一区麻豆| 天干夜啦天干天干在线| 高H系列尤物视频在线观看| 国产a级特黄的片子免费| 国产第19页精品| 粉嫩中文字幕| 嘿咻嘿咻免费区在线观看不卡| 国产疯狂女同互磨高潮在线看| 精品女同同性视频在线网| 激情 自拍 另类 亚洲| 在线观看黄AⅤ免费观看| 亚洲自拍不卡在线观看| 伊人天天躁夜夜躁狠狠| 边做奶水边喷H小视频0| 亚洲中文有码字幕青青| 四川老太婆逼毛茸茸bbw| 亚洲一区二区 欲| 国产aV夜夜欢一区二区三区| 亚洲美女视频不卡| 久久精品国产精油按摩| 被灌满精子的波多野结衣| 在线看黄动漫视频| 黑粗五月天在线观看| 呦男呦女视频精品导航| 久久国产亚洲精品美女| 日韩欧美亚洲日本亚洲欧美中文| 午夜男女乱婬真视频播放| 亚洲片十八禁污污污| 久久精品人人爽人人爽| αV在现免费观看欧美性爱精品| 色多多成视频人黄在线观看| 久久精品女人天堂AV麻| 无套流白浆嗯呢| 在线观看4455亚洲网址| 天天精品亚洲| 新影音先锋男人资源站| 灌醉迷晕系列在线观看| 国产精品视频白浆免费明星| 91视频免费观看| 大学生Av性爱免费在线| 国产私拍福利在线观看视频| 伊人婷婷综合在线| 日本α片无遮挡在线观看| 日韩精品一区二区葵司亚洲| 男生污污的网站巨污免费| 国产艾薇视频| 波多野结衣一区二区三区黑人| 好黄好硬好爽好刺激| 又大又粗又硬又爽黄毛少妇| 最新天天人人夜夜视频| 偷窥toilet女同学厕所| 超激情碰啪碰啪在线视频| 中文字幕精品三区男同女同| 国产福利美女小视频| 一级淫片AAA| 欧美白人敢猛性xxxxx| 国产一级免费网站| 久久久久精品黑人与日本人| 亚洲中文字幕在线不卡电影正版| 澳门精品视频一区二区三区| 五月六月婷婷性综合| 国产AⅤ精品浪潮| 大学生口爆吞精视频| 翘臀美女XX00后进| 亚洲乱在线播放| 国产精品爽爽爽| 扒开双腿被肏在线观看| jk白丝国产精品| 中国性BBBBBxxxxx另类| 337p日本欧洲亚洲大胆人体在线| 亚洲综合自偷自拍另类| 久久久久精品免费影视| 刘亦菲一区二区在线观看| 6080新觉伦aa午夜| αv天堂色| 波多野结衣紧身裙女教师播放| 少妇性荡欲午夜性开放视频剧场| 欧美在线A∨影院| 日本一本清乱码高清BD| 国产在线看片成人免费视频| 亚洲综合另类小说色区大陆| 久久精品国产99久久六动漫| 99精品热视频只有精品10| JIZZJIZZ日本护士视频| 又粗又大又黄又爽的免费视频| 口爆吞精视频| AV不卡一区二区| 国产 绿帽 视频 免费看| 中文无遮挡H肉视频在线观看| 国产gay高中生小鲜肉屁股| 少妇宾馆把腿扒开让我添69| 丰满少妇爽死你视频| 久久精品日日躁夜夜躁欧美| 国产精品一区二区三区不卡| 久久综合久久综合久久综合久久 | 国产杨幂福利AV在线播放| 久久国产精品免费一区| 腿张开猛戳免费视频无遮挡| 成 人 A V 动漫在线观看| 国产精品cosplay在线观看| 亚洲色悠悠| 韩国AV免费在线观看| 91精品国产免费青青碰| 2022国产爱性原创视频| 久在线精品一区二区三区| 关晓彤被调教出奶水的视频| 456性欧美在钱视频| 亚洲成年女人综合网| 69堂最新国产在线视频| a人片高清视频在线观看| 精品国内在视频线2019| 亚洲免费成h| 欧美白人性受XXXX性高潮| 亚洲VA在线VA天堂XXXX中| yy111111少妇网| 亚洲午夜小福利| AV在线免费片| 99久久久国产精品免费| 天堂在线亚洲精品专区app| 无遮挡污到肉里的动漫片视频 | 日本大乳高潮视频在线网站| 在线观看黄aⅴ免费观看| 国产高清无套在线观看| 成人aⅴ国产在线| japanese18日本护士xxxx| 国产大学生视频合集| 熟女少妇乱| ww亚洲ww亚在线观看| 新亚洲综合菊1| 真实人与人性恔配视频| 日本亚洲免费电影| 亚洲国产11p| 白嫩喷水视频好大好爽| 啦啦啦www在线观看视频高清国产| 午夜福利小视频| yy111111少妇手机在线观看| 国产美女被的日出水视频| 鸭子AV永久网站在线观看| 国产调教丝袜美女视频| 永久免费提供亚洲人成电影网站色www| 国产精品亚洲色拍| 中国厕所厕所XXXXX8888视频| 亚洲午夜成人AV电影| 丰满少妇爽死你视频| 一级爽快片高清在线观看| 久久精品娱乐亚洲领先| 国产younv交在线视频| 国产尤物yw在线观看| 白浆喷水在线| 经典国产乱子伦精品视频| 日本天天摸天天爽天天| 欧美性视频浪潮!| 粉嫩小又紧水又多视频| 亚洲欧美日韩国产二区| 99久久精品国产自在首页| 亚洲乱码熟女| 国产极品美女到高潮| 99狠狠任你日线观看免费| 夜色国产精品一区| 好好的日在线视频观看| 一区二区韩国福利网站| 嗯,啊轻点儿视频在线免费观看| 老色鬼精品一区二区| 另类 专区 欧美 制服丝袜| 100久久免费国产精品| 在线你懂的观看网站| chineseXXXX乱子另类| 2020久久国产精品| 手机Av在线播放网址| 国产精品亚洲а∨天堂2021| 色一鲁中文字幕| 曰批女人视频在线观看免费| 2020韩国最新r级限制| 亚洲国产第一页| 外国久久2| 欧美日韩国产一区二区视频在线| 无福利一区二区三区| 国产AⅤ精品浪潮| 别揉我的胸~啊~嗯~少妇视频| 久久人人爽人人爽人人AV| 久久久午夜精品理论片| AV网站免费看| 亚洲欧美日韩精品综合网| 午夜福利亚洲主播国产 | 强乱中文字幕在线播放不卡大全| 国内精品自线一二三四区| 国产亚洲色内内电影网站| 黑森林AV网站| japanese高潮尖叫| 69精品网| 好深好大视频国产| 韩国和日本免费不卡在线v| 老师掀开短裙让我挺进| 丰满老熟女六十路| 亚洲啊啊啊视频| 国产国产午夜精华免费| 高h视频久久| 被cao的合不拢腿的皇后| 波多野结衣国产| 国产swag在线| 男人J进女人屁爆水网站免费| 一区二区三区免费精品视频| 高h视频久久| 福利视频综合| 在线观看网站深夜3D催精| 九九九少妇免费| 爽爽影视在线十八禁| 亚洲欧美日韩在线观看A三区| 狠狠操一区| jlzz大全高潮多水老师| 青春草在线视频免费观看| 天堂AV网手机版| 小屁孩cao大人免费看| 亚洲人妖AV免费在线AI| 久久99久久99精品免是看不卡| 成年女人爽歪歪大片免费播放 | 国产女同疯狂作爱系列3| 在线观看国产精品一区二区| 亚洲第一区欧美国产综合86| 9禁无羞遮美女真人免费网站| 久久青草精品欧美日韩精品| 999视频精品| 边吃胸边摸下面网站免费| 久久女人视频| 杨幂AV喷水在线| 亚洲超清精品AV在线| 亚洲九九色| 久久99久久99精品免视看动漫app免费版| 性欧美欧美巨大69| 亚洲老少妇乱亚洲乱妇| 又黄又爽又色的黄裸乳视频| 旧里番-[3d]怪物蹂躏美女| 国产孕妇福利3在线观看| 本站亚洲综合网伊人中文| 哟男哟女视频八区| 久久国产自揄拍3| 国产高清拍AV在线| 日本高清国产性爱欧美| 中文字幕嫩草| h片在线看| 亚洲午夜福利一级无吗 | 久久97精品久久久久久hb| 国产在线观看18p| 亚洲AV第八页在线| 国产精品免费AV片在线观看| 又色又爽又黄又浪视频网站| 欧美人成免费网站| 久久99亚洲精品片片| 玩弄美妇系列熟女视频| 多水少妇视频网| 欧美嗯啊在线观看| a国产激情视频在线观看品善| 丝袜美女污污免费观看的网站| 久精品视频在线观看免费| 天天摸夜夜添久久精品| 午夜福利A一| 扒开她的腿屁股直流白浆| 车上强行与岳的性关系小说| 日本XXXX视频在线观看免费| 国产真实强奷版| 国产免费午夜福利片在线H| 97色婷婷手机在线| 男人把女人桶到爽爆了的视频| 天天夜碰日日摸日日澡| 高清痴汉一区二区三区| 自拍偷拍亚洲激情| 亚洲AⅤ熟女五十路中出| 久久久久77777人人人人人| 337日本中文有码| AV淘宝国产首页在线观看下载| 欧美鲁鲁片一区二区| jizzjizz欧美69巨大| 黑人巨茎大战欧美白妇| 婷婷激情网址| 天天综合网亚在线| 成人综合影院| 国际精品香蕉在线观看| 日本色色品爱网| 伊人久久大线视频| 欧美高清视频一区二区三区| 国产一级A在线| 国产精品吹潮视频| 午夜福利未满十八以下勿进| 久久99国产精品久久| WWW欧美激情| 很黄很色的小视频在线网站| 熟女体下毛毛黑森林| 在线观看AV天堂| 国产精品zzyy| 狼人香蕉香蕉在线28免费正片 | H片网站在线观看| Japanese高潮白浆国产| 天天狠天天透天天爽| 女女百合在线网站| 欧美又粗又大免费视:| 国产91免费资源在线观看| 国产iGAO在线| 最新AV手机在线观看| 久久国产尤物麻豆名媛| 成人精品免费视频大全| 百合AV片在线观看| 亚洲 欧美 国产 制服 动漫 | 亚洲国内视频小说香蕉| 日本成人字幕在线不卡|