亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發(fā) > XML > 正文

COM+ Web 服務:通過復選框路由到 XML Web Services(3) (微軟中國)

2024-09-05 20:55:49
字體:
來源:轉載
供稿:網友
中國最大的web開發(fā)資源網站及技術社區(qū),

soap 與 dcom 的局限性和區(qū)別


.net remoting 的目的之一是提供豐富的分布式環(huán)境,使開發(fā)人員能夠在此環(huán)境中對序列化協議(格式化程序)和網絡協議(頻道)進行組合與匹配。.net 框架 1.0 版本中的 com+ web 服務僅支持一種格式化程序 (soap) 和一種頻道 (http)。這并不是說其他頻道和格式化程序不能使用 servicedcomponents 或 com+,而是說沒有自動配置為這些備用頻道和格式化程序提供客戶端和服務器端點。
目前已經有用各種語言編寫的大量 com+ 組件。如果可以使用 com+ web 服務將所有這些組件啟用為 web 服務,那就太好了。但正如使用 .net 框架 1.0 版本一樣,并非所有現有的 com 組件都可以使用 com+ web 服務。雖然多數具備類型庫的現有組件可以正常工作,但是此版本不支持某些組件,例如 windows 腳本組件 (wsc) 組件。某些復雜的類型庫(其接口具有多重繼承級別,或依賴于多個類型庫)可能無法正常工作。此外,由于類型庫轉換的局限性,只有類型庫中默認的接口才可以作為 web 服務。
com+ web 服務并不是適用于所有現有非托管 com+ 組件的完整解決方案。現有非托管 com+ 組件中有一大部分是使用多種編程語言編寫而成的,由于不可能測試所有可能的類型庫(由支持 com+ 的各種編譯器生成),因此某些非托管 com+ 組件不能使用 com+ web 服務正確發(fā)布。com+ web 服務的目的之一就是最大程度減少做出這種評估所需的時間和精力。只需將非托管 com+ 組件發(fā)布為 com+ web 服務,開發(fā)人員就可以迅速判斷是否可以將其用作 web 服務。如果遇到問題,則可以通過若干替代方法來處理現有的非托管組件。這些替代方法包括編寫托管或非托管的包裝程序,這些包裝程序提供的兼容接口可以發(fā)布為 web 服務。多數情況下,編寫這樣的包裝程序的工作量比重新編寫整個組件要少得多。這就盡可能減少了將現有的應用程序應用為 xml web services 所需的開發(fā)和測試工作。
使用非托管(visual basic 6.0 或 visual c++)服務器時,通常越早綁定托管客戶端應用程序和 soap,越能更好地工作。在某些情況下,如果將生成的元數據用作后期綁定的跨計算機遠程代理程序,它可能無法正常工作。
在通過 http 使用 soap 格式化程序的情況下,仍然可以使用許多選項(取決于目標部署環(huán)境)。com+ web 服務為服務器和 cao 客戶端配置生成基于 xml 的遠程配置文件。(wko 激活的 url 引用已嵌入生成的客戶端代理,因此不需要配置文件。)com+ web 服務生成直觀的功能性配置文件,可由用戶自定義以滿足任何通過 http 的直接 soap 通信所不能滿足的需求??蛇M行自定義的區(qū)域包括用戶身份驗證,如下例所示:
<?xml version="1.0" encoding="utf-8"?><configuration> <system.runtime.remoting>  <application>   <service>    <wellknown mode="singlecall" type="sctrans.sctranssql, sctrans,       version=0.0.0.0, culture=neutral,       publickeytoken=9c6052078b454cee"       objecturi="sctrans.sctranssql.soap" />    <activated type="sctrans.sctranssql, sctrans" />   </service>  </application> </system.runtime.remoting> <identity impersonate="true" /></configuration>

上例中添加的突出顯示的行可以在激活 com+ 組件(通過 soap 調用)時使用用戶的身份標識。(默認情況下,iis 虛擬根使用標準的 iis 身份驗證。)這樣在使用 soap 時可以實現 com+ 的分區(qū)(一種 com+ windows .net server 功能),從而可根據用戶的身份標識來實際調用不同的組件。
另一個可以自定義的區(qū)域包括客戶端激活對象的生存期管理,如下例所示:
<?xml version="1.0" encoding="utf-8"?><configuration> <system.runtime.remoting>  <application>   <service>    <wellknown mode="singlecall" type="sctrans.sctranssql, sctrans,       version=0.0.0.0, culture=neutral,       publickeytoken=9c6052078b454cee"       objecturi="sctrans.sctranssql.soap" />    <activated type="sctrans.sctranssql, sctrans" />   </service>   <lifetime leasetime="30s" renewoncalltime="30s" />  </application> </system.runtime.remoting></configuration>

在 web.config 文件中添加的突出顯示的行,將此 iis vroot 中的客戶端激活對象的生存期從 6 分鐘更改為 30 秒。如果把 wellknown 元素的 singlecall 屬性更改為 singleton,則激活行為會更改為將所有傳入的方法調用都路由到一個組件,而不是原來的對于每個方法調用都激活一個新組件。
.net remoting(類似 .net 框架的其余部分)支持垃圾回收,而不支持引用計數。這意味著在某些情況下,使用 com+ web 服務和 dcom 時,非托管事務 com+ 組件的行為方式將有所不同。對于通過 wko 單一調用發(fā)布的事務方法,調用 setcomplete 或選擇自動完成(通過選擇組件方法屬性頁的“返回此方法時自動停用該對象”復選框)是極其重要的,這是因為組件在進行垃圾回收前不能被釋放。使用 dcom 時,引用計數通常會導致在釋放組件時提交或放棄事務,即使此法則被忽略。移動到 com+ web 服務環(huán)境時,在垃圾回收環(huán)境中,事務超時之前這是不能保證的。如果調用 setcomplete 失敗或將方法配置為自動完成失敗,則證明其自身的間歇無法提交事務,因為組件被作為垃圾回收之前事務已超時。

設計時應注意的事項


在 com+ web 服務中,如果選擇了 uses soap 復選框(使用組件服務管理工具),將在 iis 虛擬根上提供兩種不同的激活模型:wko 和 cao。哪一種模型更好?用戶應該使用哪一種呢?
wko 單一調用激活模型看起來似乎頗為費事。每種方法調用都需要創(chuàng)建一個新組件,完成方法調用后,再將組件發(fā)送到內存回收器。但是,如果特別注重性能并且只能使用 wko 處理業(yè)務時,緩沖的 servicedcomponents 或緩沖的非托管 c++ 組件可以大大緩解單一調用激活的過程。使用緩沖的組件時,wko 激活將從緩沖池中檢索對象,完成調用,然后將對象返回到緩沖池。此協議的無狀態(tài)性質和緩沖池的使用提高了增加擴展性的可能。在不緩沖對象的 wko 單一調用中,對象的生命期僅限于調用過程。
另一方面,cao 提供了服務器上單一激活的性能優(yōu)勢,還可以與某個組件的單一實例繼續(xù)進行通信。通過從客戶端向服務器進行多方法調用可以避免激活的缺點。如果服務器組件(servicedcomponent 或非托管 c++ 組件)被緩沖,則將從緩沖池中檢索對象,然后在完成方法調用時將對象返回到緩沖池。如果對象沒有被緩沖,則對象生命期取決于 web.config 文件中指定的租用生命期,或由組件自身編程設置。生命期是很重要的,因為直到生命期到期時垃圾回收器才會為組件釋放內存。在高容量的 cao 配置中,這會影響開發(fā)人員的某些設計決定。

更進一步


如果您只是希望發(fā)布或使用應用了 com+ web 服務的 web 服務,您可以到此為止。但是,如果您希望自定義、擴展或簡單了解使用的流程,請繼續(xù)閱讀下面的內容。下面的信息不是使用此項功能所必需的,但是如果您希望手動擴展一些功能,這些信息可能會非常有用。com+ web 服務是一個簡單的包裝程序,通過由 .net remoting 提供的一套相當豐富的服務,開發(fā)人員或管理員可以輕松地對其進行擴展。

服務器 iis 虛擬根


為使用此功能,并沒有在 .net remoting 中添加隱藏掛鉤,而是編寫了 com+ 代碼以進行必要配置,將 com+ 端點發(fā)布為 iis 虛擬根。在服務器上,這包括向服務器創(chuàng)建物理目錄作為虛擬根,以及生成 web.config 文件,以便通過 remoting 來訪問組件。如果是非托管組件(visual c++ 或 visual basic 6.0),也會生成代理元數據,以便 remoting 可以訪問組件。如果 windows xp 系統(tǒng)目錄是 c:/windows,則服務器配置文件和生成的所有元數據都將存儲在以下目錄樹中:
c:/windows/system32/com/soapvroots/vrootname當在服務器上發(fā)布 soap 端點時,以下生成的文件將被放入此目錄中:
  • web.config: vroot 的基本 remoting 配置文件,包含許多選項,可供開發(fā)人員或系統(tǒng)管理員添加或編輯,以調整 remoting 的性能和安全性。
  • default.disco: 如果您正在開發(fā)托管代碼客戶端,可與 visual studio .net 一起使用此文件,來生成對已發(fā)布的 web 服務的引用。如果您的業(yè)務伙伴希望在企業(yè)外聯網上開發(fā)自己的客戶端,這會特別有用。
  • default.aspx: 簡單的 microsoft asp.net 頁,可以將每一組件發(fā)布為超鏈接。

上述所有文件都是默認生成的。如果您希望刪除其中某些功能,只需編輯或刪除相應的文件。(但是,如果刪除了 web.config 文件,來自 iis 虛擬根的所有 soap 發(fā)布都會停止。)
所有生成的元數據都被放入以下目錄以及 gac 中:
c:/windows/system32/com/soapvroots/vrootname/bin
在 .net remoting 中,bin 目錄是一個很特殊的位置。當 http 請求進入 iis 時,將在此目錄中搜索程序集,因此在許多情況下,bin 目錄中的發(fā)布是唯一必要的步驟。但是,在發(fā)布 soap 端點時,生成的程序集也被放入 gac,這是因為虛擬根的程序集解決方案的范圍僅限于 bin 目錄和 gac。如果您的代碼在同一臺計算機上從一個虛擬根向另一個傳遞引用,除非程序集在 gac 中,否則目標虛擬根中的引用解決方案將會失敗。如果您正在使用所生成的用于非托管 visual basic 6.0 或 visual c++ 組件的元數據,如果沒有傳遞引用,則可以從 gac 中刪除所生成的程序集。
此版本的 .net 框架需要特別注意的一點是:如果加載了程序集,并且使用 system.reflection 來訪問程序集文件,則文件將在內存中鎖定,直到進程結束。動態(tài)生成 wsdl 以便生成代理時,將使用反射,因此對于將由客戶端進程訪問的活動 iis 虛擬根來說,可以鎖定程序集文件。這在運營環(huán)境中不會產生問題,但是對于經常更改組件的開發(fā)人員來說,應該牢記這一點。
如果您正在使用帶有 com+ web 服務的 servicedcomponents,此時也需要將程序集放在 gac 中,除非您最初將程序集放在了 bin 目錄中,并且運行了針對該目錄中程序集的 regsvcs.exe。如果已經加載 microsoft .net 框架 sdk,您可以使用 gacutil.exe 命令行實用程序,將 servicedcomponent 放入 gac 中;如果安裝了內置 .net 框架的 windows .net server,或者在 windows xp 計算機上加載了可重新分發(fā)的 .net 框架,可以使用 microsoft .net 框架配置用戶界面(可從 administrative tools 菜單訪問),將程序集添加到 gac 中。
此外,使用 windows xp 或 windows .net server 時,請確保已安裝并配置了 iis,以提供 asp.net 應用程序服務。這些設置對于提供使用 soap 所必需的動態(tài)內容是必需的。

生成的代理程序集緩存


對于要通過 .net remoting 發(fā)布為 soap 端點的非托管 com+ 組件,需要生成代理,使非托管組件可用于 .net 框架。這可以通過編程執(zhí)行與 tlbimp.exe(用于將非托管 com+ 類型庫轉換為代理元數據程序集的 .net 框架 sdk 工具)相同的步驟來完成。但是,要通過 soap 成功激活客戶端,客戶端和服務器計算機必須共享相同加強名稱的簽名元數據代理。因此,當生成用于非托管 com+ 組件的托管代理程序集時,還會生成加強名稱關鍵字,并用于簽名代理程序集。
加強名稱關鍵字只能生成一次,并且在非托管 com+ 組件中沒有加強名稱關鍵字的概念。也就是說,如果多次生成代理,則可以創(chuàng)建不同的加強名稱關鍵字。這會為同一非托管 com+ 組件創(chuàng)建不同的托管標識,要避免這種情況,請將所有為非托管 com+ 組件生成的代理程序集寫入以下 soapcache 目錄中:
c:/windows/system32/com/soapcache/componentdirectory/proxymetdata.dll
其中 componentdirectory 的格式應為:
atltrans.dll_40960_2001_6_27_15_4_16
目錄名是根據文件名、文件大小以及上次編譯的日期和時間創(chuàng)建的。此方案基于以下假設:如果重新編譯非托管 com+ 組件,則需要生成新的代理。而這又是基于以下假設:如果要對代碼做出更改,只能在運營環(huán)境中重新編譯代碼。
由于存在 soapcache 目錄,所以如果在同一計算機的不同虛擬根發(fā)布了相同的非托管組件,而不是生成代理程序集,則位于緩存中的非托管組件將被重新使用。這是為了確保組件的加強名稱簽名(以及由此生成的標識)可以通過虛擬根共享。
如果將 soap 啟用的非托管 com+ 組件作為服務器應用程序導出,然后導入到其他服務器,緩存的代理元數據將被一起帶走,因此不同的服務器可以共享相同的非托管程序集的同一托管標識。此外,如果用戶要生成或編寫并簽名自己的代理,只需將元數據放入相應的緩存目錄中,當服務器上發(fā)生 soap 發(fā)布時就會使用此元數據。這里應用的基本規(guī)則是,為避免不必要地擴散用于同一非托管組件的已簽名的代理,如果緩存中存在可替代的文件則不生成程序集。

客戶端配置


客戶端的配置工作也是必需的,最簡單的情況(至少從用戶的工作量來說)就是本文給出的第一個程序示例:
set soapobj =    getobject("soap:wsdl=http://www.xmethods.net/sd                   /temperatureservice.wsdl")wscript.echo "fairbanks  氣溫 = " & soapobj.gettemp("99707")

當處理 wsdl 名字對象時,將會引發(fā)以下步驟:
  1. 進行檢查,查看是否存在以前為此 url 生成的代理。如果存在,則再次使用。(跳到步驟 4。)
  2. 如果不存在,則從 url 檢索 wsdl 并生成 c# 代理程序。這實質上與 soapsuds.exe 命令行實用程序(.net 框架 sdk 所附帶的)使用的邏輯相同。
  3. c# 程序被編譯為 dll 并以與 url 相匹配的名稱命名(非法字符轉換為文件名中可接受的字符)。
  4. 然后,生成的代理用于通過 .net remoting (wko) 與 wsdl 中指定的遠程服務器通信。

這些代理生成并保存在以下文件夾中:
c:/windows/system32/com/soapassembly在客戶端激活的情況中,客戶端代理導入客戶端計算機上所必需的已導出的 com+ 應用程序。此應用程序的導出/導入將從服務器帶來客戶端激活所必需的已簽名的元數據程序集。導入過程還生成配置文件,并放入 soapassembly 目錄中。通常客戶端配置文件采用以下格式:
<configuration> <system.runtime.remoting>  <application>   <client url="http://myserver/vb6soap">    <activated type="vb6soapsoaplib.calcclass, vb6soapsoaplib"/>   </client>  </application> </system.runtime.remoting></configuration>

com+ web 服務在激活組件前讀取此配置文件,這樣便可以通過修改或替換此配置文件,在客戶端計算機上潛在更改激活模型。

一切才剛剛開始


com+ web 服務的設計目的是簡化結合 .net remoting 和 com+ 服務(windows xp 和 windows .net server 系列均包含此服務)的過程。它只是為了簡化常見的任務,并非包含所有的選項或涵蓋用戶可能遇到的各種情況。與使用向導在 visual studio .net 中創(chuàng)建程序類似,某些高級的任務留給用戶自行解決。為了使用戶可以擴展,生成的項目很少被完全刪除。此外,xml 類用于編輯生成的配置文件,如果已經存在配置文件,則會在該文件中添加或刪除節(jié)點,以反映來自組件服務管理工具或 microsoft com+ 管理 sdk 的更改。com+ web 服務的設計使用戶可以輕松地擴展或自定義已經生成的內容。
總之,com+ web 服務為現有的 visual basic 和 visual c++ com+ 組件,以及在 visual basic .net 和 c# 中編寫的新托管的 servicedcomponents,提供了一條實現 xml web services 和 soap 的簡單途徑
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
久久久99精品免费观看不卡| 色一情一伦一子一伦一区| 中文字幕在线视频免费观看| 久久综合九色综合97婷婷| 欧美另类videosbestsex日本| 久久国产亚洲精品无码| 一区二区视频免费完整版观看| 亚洲午夜国产成人av电影男同| 亚洲国产日韩一区| 国产精品美女久久久久久久久| 玖玖视频精品| 亚洲国产视频一区二区三区| 国产精品视频一区国模私拍| 日韩视频在线一区二区| 国产精品一区二区在线观看| 成人动漫在线免费观看| 老师让我她我爽了好久视频| 亚洲欧洲国产日本综合| 国产盗摄一区二区三区在线| 日本在线аv| 最新中文字幕av| 在线观看免费视频黄| 免费毛片在线看片免费丝瓜视频| 在线一区欧美| 一本色道久久综合狠狠躁篇怎么玩| 在线天堂中文| 少妇性bbb搡bbb爽爽爽欧美| 久久青草国产手机看片福利盒子| 污网站在线观看免费| 天天操夜夜拍| wwwwxxxx国产| 91超碰在线免费观看| 久久超碰97中文字幕| 成年丰满熟妇午夜免费视频| 欧美婷婷久久五月精品三区| 91精品国产乱码久久久久| 亚洲色图都市激情| 国产在线观看av| 91chinesevideo永久地址| julia一区二区三区中文字幕| 国产专区综合网| 精品久久人人做人人爱| 亚洲日本精品国产第一区| 少妇一级淫片日本| 亚洲天堂黄色片| 天天躁日日躁成人字幕aⅴ| 日韩精品电影在线| 欧美日韩精品一区视频| 国产免费无码一区二区视频| 成人18网址在线观看| 久久久亚洲影院你懂的| 一区二区小视频| 欧美电影免费提供在线观看| 狂野欧美性猛交xxxx| 先锋影音男人| 性欧美18一19性猛交| 欧美伊人久久久久久久久影院| 欧美性xxxxxxx| 日本在线中文电影| 韩国福利在线| 国产高清不卡视频| www.四虎影视.com| 国产卡一卡2卡三卡免费视频| 少妇免费视频| 一本一道无码中文字幕精品热| youjizz.com亚洲| 中日韩免视频上线全都免费| 91成人短视频在线观看| 欧美激情精品久久久久久变态| 九色一区二区| 国产精品毛片一区二区三区四区| 亚洲欧洲中文日韩久久av乱码| 久久国产香蕉视频| 桃乃木かなav在线播放| 婷婷综合激情| 一本大道综合伊人精品热热| 99精品在免费线中文字幕网站一区| 日韩亚洲欧美在线| 精品中国亚洲| 岛国av午夜精品| 日韩精品久久久| 韩国成人免费视频| 99电影在线观看| 成人免费网址| 在线免费观看的av| 国产精品一区二区久久精品爱涩| 久久亚洲欧美日韩精品专区| 国产视频精品久久| 成人免费黄色网址| 99re这里只有精品在线| 久久黄色片网站| 日韩高清成人在线| 最新版天堂资源中文官网| 视频二区欧美| 91精品国产高清久久久久久91裸体| 成人小视频在线看| 日韩一级成人av| aa视频在线观看| 亚洲色图欧美激情| 亚洲欧洲成人| 天天天天天操| 日韩成人性视频| 午夜久久99| 在线精品视频视频中文字幕| 激情综合一区二区三区| 麻豆精品蜜桃视频网站| 免费日本视频一区| 国产精品美女主播在线观看纯欲| 国产精品夜夜嗨| 不卡av电影在线| 国产一区二区三区不卡视频网站| 久久精品国产亚洲AV成人婷婷| 国产精品剧情一区二区三区| 男人操女人逼免费视频| 看片一区二区| 久久伊人色综合| 色欲欲www成人网站| 99热这里只有精品在线| 中文字幕精品无码亚| 一区二区自拍| 日本成人超碰在线观看| 亚洲韩国青草视频| 久久久青草婷婷精品综合日韩| 日韩欧美成人一区二区三区| 91日本在线观看| 97久久人人超碰caoprom欧美| 亚洲色图校园春色| 日本aⅴ免费视频一区二区三区| 亚洲欧洲日产国码无码久久99| 成人在线免费观看网址| 亚洲精品视频网上网址在线观看| 在线免费观看av影视天堂| 另类视频在线观看| 麻豆视频一区二区| 国产高清第一页| 天堂av在线| 欧美自拍偷拍一区二区| 亚洲欧美偷拍另类| 波多野结衣三级视频| 色总=综合色| 麻豆免费精品视频| 中文字幕一区二区三区手机版| 久久久精品一区二区三区| 久久成人麻豆午夜电影| 国产视频在线观看一区二区| 97碰碰碰免费公开在线视频| 亚洲精品国产福利| 成人免费观看av| 青娱在线视频| 免费av中文字幕| 欧美在线1区| 国产毛片视频网站| 羞羞答答一区二区| 国产亚洲免费的视频看| 综合欧美一区二区三区| 国产亚洲欧美日韩在线一区| 成人av高清在线| 视频一区视频二区在线观看| 成人在线二区| 97超碰人人模人人爽人人看| 日本欧美日韩| 日韩区在线观看| 美女又爽又黄免费动漫| 伊人色综合久久久| 玩弄japan白嫩少妇hd| 色黄视频在线| avav在线看| 国产粉嫩一区二区三区在线观看| 亚洲一区二区四区| 国产一二三区精品视频| 一级特黄录像免费播放全99| 亚洲欧洲视频在线| 污视频在线看| a√在线中文网新版址在线| 亚洲女人视频| 午夜久久久久久久久久一区二区| av激情亚洲男人天堂| 天天综合在线观看| 加勒比视频一区| 992tv在线观看| 午夜影院久久久| 国产在线精品一区在线观看麻豆| 中文字幕av一区二区三区四区| 麻豆成人91精品二区三区| 视频免费在线观看| 欧美日韩精品一二三区| 欧美三级免费看| 国内外成人激情视频| 欧美激情视频一区二区| 久久久精品人妻一区二区三区四| 国产乱子伦视频一区二区三区| 美女精品视频一区| 2021天天操| eeuss影院第1页在线| 九色蝌蚪在线视频| 自拍视频一区| 视频一区视频二区视频三区视频四区国产| 精品国产乱码久久久久久天美| 欧美综合第一页| 北岛玲一区二区三区四区| 青青草原国产在线| 91探花在线观看| 一本久道久久综合狠狠爱| 一个人免费观看在线视频www| 秋霞影院一区二区三区| 久久久久精彩视频| 精品福利av| 国产在线视频在线观看| 亚洲精品成人悠悠色影视| 亚洲一区二区三区激情| caoporn国产一区二区| 国产一级黄色电影| 亚洲最新av网站| 国产精品亚洲二区在线观看| 亚洲二区视频在线| 亚洲视频在线观看免费视频| 精品在线一区二区三区| 国内精品在线一区| 影音四色91| 久久久久久97三级| 欧美日韩在线播放一区二区| 北条麻妃69av| 国产在线视视频有精品| 国产夫妻视频| caoporn国产精品免费视频| 亚洲精品aaaa| 免费人成又黄又爽又色| 日本免费在线视频观看| 顶级欧美妇高清xxxxx| 亚洲综合久久av一区二区三区| 午夜欧美精品| 国产精品久久久久久久久借妻| 日韩一二三在线视频播| 国产伦精品一区二区三区精品视频| 最新国产精品| av男人的天堂在线观看| 中文一区二区三区四区| 性欧美一区二区| 欧美乱xxxxxxxxx| 久久激情久久| 免费看日产一区二区三区| sm一区二区三区| 久久66热这里只有精品| 僵尸世界大战2 在线播放| 亚洲国产1区| 蜜臀视频一区二区三区| 欧美一区二区三区高清视频| 免费在线不卡视频| 日韩三级.com| 欧美一级在线播放| 2021国产视频| 国产在线综合视频| 亚洲国产另类久久精品| 国产亚洲精品久久777777| 日本福利片免费看| 国产精品区二区三区日本| 全黄性性激高免费视频| 国产精品91久久久久久| 亚洲欧洲制服丝袜| 一区二区在线影院| 免费精品国产自产拍在| 亚洲伦理在线| 色婷婷av一区| 日韩免费影院| 激情久久婷婷| 日韩成人在线播放| 亚洲欧洲综合另类| 国产精品夫妻激情| 日韩欧美国产电影| 亚洲精品视频一区二区三区| 这里只有久久精品视频| 午夜刺激在线| 欧美在线不卡| 涩涩视频在线免费看| 色综合888| 国产一区二区三区不卡免费观看| 国产成人在线网址| 欧美高清视频在线| 日韩国产在线播放| 日韩欧美国产视频| 男人天堂午夜在线| 国产成人精品免费看在线播放| 久久综合狠狠综合久久综合88| 国产欧美精品在线观看| 国产精品伦理一区| 精品夜夜澡人妻无码av| 色综合久久久久综合| 爱情岛论坛亚洲入口| 国产精品自拍一区| 欧美一区网站| 国产欧美日韩一区二区三区四区| 亚洲精品午夜av福利久久蜜桃| 夫妻av一区二区| 国产亚洲色婷婷久久| 成人激情开心网| 日韩久久精品一区二区三区| 欧美成人亚洲| 欧美激情第一页xxx| 一二三四中文在线| 精品在线观看国产| 男人久久天堂| 桃花视频大全不卡免费观看网站| 亚洲精品日韩丝袜精品| 欧美性猛片xxxx免费看久爱| 欧美日韩免费观看一区| 免费在线成人网| 久久黄色片网站| 欧美日韩黄色大片| 91视频-88av| 淫视频在线观看| 国产免费一区二区三区四在线播放| 成人在线电影网站| 亚洲国产天堂网精品网站| 岛国av午夜精品| 在线亚洲成人| 91精品蜜臀在线一区尤物| 成人一区二区三区中文字幕| 日本免费视频www| 欧美成人三区| 污视频在线免费观看一区二区三区| 黄色一级片免费的| 你懂的视频在线| 任我爽在线视频| 欧美午夜宅男影院在线观看| 亚洲免费高清| 国产在线一在线二| 麻豆视频免费在线播放| 亚洲黄色小说网|