精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

.asmx處理程序提供的功能之XML映射

開發 后端
本文介紹.asmx處理程序提供的功能之XML映射。在 WebMehod 處理程序確定了要調用的方法之后,它需要將 XML 消息反序列化為可在方法調用過程中提供的 .NET 對象。

將 XML映射到對象
在 WebMehod 處理程序確定了要調用的方法之后,它需要將 XML 消息反序列化為可在方法調用過程中提供的 .NET 對象。如同消息調度一樣,該處理程序通過以下方法來實現上述目標:通過反射來檢查該類,以便確定如何處理傳入的 XML 消息。XmlSerializer 類在 System.Xml.Serialization 命名空間中自動完成 XML 和對象之間的映射。

XmlSerializer 使將任何公共的 .NET 類型映射到 XML 架構類型成為可能,在建立了這樣的映射之后,它可以在 .NET 對象和 XML 實例文檔之間自動映射(請參閱圖 4)。目前,XmlSerializer 被限制于 XML 架構所支持的模型中,因此無法處理當今所有復雜的現代對象模型,例如,復雜的非樹型對象圖、雙重指針等。不過,XmlSerializer 能夠處理開發人員傾向使用的大多數復雜類型。

對于上面說明的 Add 示例,XmlSerializer 會將 x 和 y 元素映射為 .NET 雙精度值,這些值隨后會在調用 Add 時提供。Add 方法向調用方返回一個雙精度值,該值隨后將需要重新序列化為 SOAP 響應中的一個 XML 元素。

 將 XML 映射到對象

圖 4. 將 XML映射到對象
XmlSerializer 還可以自動處理復雜的類型(除了上面描述的限制)。例如,下面的 WebMethod 計算兩個 Point 結構之間的距離:

  1. using System;   
  2. using System.Web.Services;   
  3. public class Point {   
  4. public double x;    
  5. public double y;   
  6. }   
  7. [WebService(Namespace="urn:geometry")]   
  8. public class Geometry {   
  9. [WebMethod]   
  10. public double Distance(Point orig, Point dest) {   
  11. return Math.Sqrt(Math.Pow(orig.x-dest.x, 2) +   
  12. Math.Pow(orig.y-dest.y, 2));   
  13. }   
  14. }   

此操作的 SOAP 請求消息將包含一個 Distance 元素,該元素中包含兩個子元素,一個叫做 orig,另一個叫做 dest,它們都應當包含 x 和 y 子元素,如下所示:

  1. < soap:Envelope    
  2. xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"   
  3. >   
  4. < soap:Body>   
  5. < Distance xmlns="urn:geometry">   
  6. < orig>   
  7. < x>0< /x>   
  8. < y>0< /y>   
  9. < /orig>   
  10. < dest>   
  11. < x>3< /x>   
  12. < y>4< /y>   
  13. < /dest>   
  14. < /Distance>   
  15. < /soap:Body>   
  16. < /soap:Envelope>   

在本例中,SOAP 響應消息將包含一個 DistanceResponse 元素,該元素包含一個雙精度類型的 DistanceResult 元素:

  1. < soap:Envelope    
  2. xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"   
  3. >   
  4. < soap:Body>   
  5. < DistanceResponse    
  6. xmlns="urn:geometry">   
  7. < DistanceResult>5< /DistanceResult>    
  8. < /DistanceResponse>   
  9. < /soap:Body>   
  10. < /soap:Envelope>   

默認的 XML映射將方法的名稱用作請求元素的名稱,將參數的名稱用作請求元素的子元素的名稱。每個參數的結構都取決于類型的結構。公共字段和屬性的名稱只是映射到子元素(在本例中是 Point 中的x 和 y)。在默認情況下,響應元素的名稱是請求元素的名稱后面加上 "Response"。響應元素也包含一個子元素,名稱是請求元素的名稱后面加上 "Result"。

您可以通過使用大量的內置映射屬性從標準的 XML 映射中解放出來。例如,可以使用 [XmlType] 屬性來自定義類型的名稱和命名空間。可使用 [XmlElement] 和 [XmlAttribute] 屬性來控制參數或類成員分別映射到元素或屬性的方式。還可以使用 [SoapDocumentMethod] 屬性來控制方法本身如何映射到請求/響應消息中的元素名稱。例如,使用散布于下面程序片段中的多種屬性檢查如下版本的 Distance:

  1. using System;   
  2. using System.Web.Services;   
  3. using System.Web.Services.Protocols;   
  4. using System.Xml.Serialization;   
  5. public class Point {   
  6. [XmlAttribute]   
  7. public double x;   
  8. [XmlAttribute]    
  9. public double y;   
  10. }   
  11. [WebService(Namespace="urn:geometry")]   
  12. public class Geometry {   
  13. [WebMethod]   
  14. [SoapDocumentMethod(RequestElementName="CalcDistance",   
  15. ResponseElementName="CalculatedDistance")]   
  16. [return: XmlElement("result")]   
  17. public double Distance(   
  18. [XmlElement("o")]Point orig, [XmlElement("d")]Point dest) {   
  19. return Math.Sqrt(Math.Pow(orig.x-dest.x, 2) +   
  20. Math.Pow(orig.y-dest.y, 2));   
  21. }   
  22. }   

這個版本的 Distance 希望傳入具有如下外觀的 SOAP 消息:

  1. < soap:Envelope    
  2. xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"   
  3. >   
  4. < soap:Body>   
  5. < CalcDistance xmlns="urn:geometry">   
  6. < o x="0" y="0" />   
  7. < d x="3" y="4" />   
  8. < /CalcDistance>   
  9. < /soap:Body>   
  10. < /soap:Envelope>   

而且,它將生成一個如下所示的 SOAP 響應消息:

  1. < soap:Envelope    
  2. xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"   
  3. >   
  4. < soap:Body>   
  5. < CalculatedDistance xmlns="urn:geometry">   
  6. < result>5< /result>   
  7. < /CalculatedDistance>   
  8. < /soap:Body>   
  9. < /soap:Envelope>   

.asmx 處理程序使用 SOAP document/literal 樣式來實現和描述上面顯示的默認映射。這意味著該 WSDL 定義將包含用來描述 SOAP 消息中所使用的請求和響應元素的字面上的 XML 架構定義(例如,不使用 SOAP 編碼規則)。

.asmx 處理程序還可以使用 SOAP rpc/encoded 樣式。這意味著 SOAP 正文中包含一個 RPC 調用的 XML 表示形式,而且參數都使用 SOAP 編碼規則(例如,不需要 XML 架構)進行了序列化。為了實現這個目標,可以使用 [SoapRpcService] 和 [SoapRpcMethod] 屬性,而不使用 [SoapDocumentService] 和 [SoapDocumentMethod] 屬性。有關這些樣式之間的區別的更多信息,請查看 Understanding SOAP。

正如您所看到的一樣,可以完全自定義給定方法映射到 SOAP 消息的方式。XmlSerializer 提供一個功能強大的序列化引擎,以及許多我們在本文中沒有時間進行討論的功能。有關 XmlSerializer 如何工作的更多信息,請查看 Moving to .NET and Web Services。在我的每月 MSDN Magazine 的 XML Files 專欄(可在聯機存檔中查看專欄列表)中,我還介紹了 XmlSerializer 的許多不易察覺的細微差別。

除了對參數的反序列化進行處理以外,.asmx 處理程序還能夠對 SOAP 頭進行反序列化/序列化。SOAP 頭的處理方法與參數不同,因為它們通常被視為帶外信息,并未直接關聯到某個特定的方法。因此,SOAP 頭的處理通常是通過偵聽層完成的,從而使得 WebMethod 完全無須對 SOAP 頭進行處理。

但是,如果您希望親自處理 WebMethod 中的頭信息,則必須提供一個從 SoapHeader 派生的 .NET 類,此類代表該頭的 XML 架構類型(遵循上面描述的同一映射準則)。然后定義該類型的成員變量,以便讓其充當頭實例的占位符。***,批注每個需要訪問該頭的 WebMethod,以便指定您想要到達的字段的名稱。

例如,考慮下面的 SOAP 請求,其中包含有一個用于進行身份驗證的 UsernameToken 頭:

  1. < soap:Envelope    
  2. xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"   
  3. >   
  4. < soap:Header>   
  5. < x:UsernameToken xmlns:x="http://example.org/security">   
  6. < username>Mary< /username>   
  7. < password>yraM< /password>   
  8. < /x:UsernameToken>   
  9. < /soap:Header>   
  10. < soap:Body>   
  11. < CalcDistance xmlns="urn:geometry">   
  12. ...   

為了使 .asmx 處理程序能夠反序列化該頭,首先需要定義一個表示隱含的 XML 架構類型的 .NET 類(注:如果您實際上已經知道了該頭的 XML 架構,則可以使用 xsd.exe /c 來生成該類)。在本例中,相應類的外觀如下所示:

  1. [XmlType(Namespace="http://example.org/security")]   
  2. [XmlRoot(Namespace="http://example.org/security")]   
  3. public class UsernameToken : SoapHeader {   
  4. public string username;   
  5. public string password;   
  6. }   

接著,只需在 WebMethod 類中定義一個用來保存頭類的實例的成員變量,并用 [SoapHeader] 屬性批注 WebMethod,如下所示:

  1. using System;   
  2. using System.Web.Services;   
  3. using System.Web.Services.Protocols;   
  4. [WebService(Namespace="urn:geometry")]   
  5. public class Geometry {   
  6. public UsernameToken Token;   
  7. [WebMethod]   
  8. [SoapHeader("Token")]   
  9. public double Distance(Point orig, Point dest) {   
  10. if (!Token.username.Equals(Reverse(Token.password)))   
  11. throw new Exception("access denied");   
  12. return Math.Sqrt(Math.Pow(orig.x-dest.x, 2) +   
  13. Math.Pow(orig.y-dest.y, 2));   
  14. }   
  15. }   

然后,您可以在 WebMethod 中訪問 Token 字段并提取在該頭中提供的信息。您也可以使用同樣的方法將頭重新發送到客戶端 — 您只需在 [SoapHeader] 屬性中指定頭的方向。有關在 WebMethod 框架中處理 SOAP 頭的更多信息,請查看 Digging into SOAP Headers with the .NET Framework。

.asmx 處理程序也提供了 .NET 異常的自動序列化。由 .asmx 處理程序捕獲的任何未經處理的異常都自動序列化為響應中的 SOAP Fault 元素。例如,在上例中,如果用戶名與反轉密碼不匹配,代碼將引發一個 .NET 異常。.asmx 處理程序隨后將捕獲該異常,并將它序列化為 SOAP 響應,如下所示:

  1. < soap:Envelope    
  2. xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"   
  3. >   
  4. < soap:Body>   
  5. < soap:Fault>   
  6. < faultcode>soap:Server< /faultcode>       
  7. < faultstring>Server was unable to process request. --&gt; access denied< /faultstring>   
  8. < detail />   
  9. < /soap:Fault>   
  10. < /soap:Body>   
  11. < /soap:Envelope>   

如果您希望對 SOAP Fault 元素進行更多的控制,則還可以顯式引發 SoapException 對象,以便指定所有的 SOAP Fault 元素細節,例如,faultcode、faulstring、faultactor 和 detail 元素。有關更多信息,請查看 Using SOAP Faults。

正如您所看到的一樣,要知曉 WebMethod 如何工作必須了解基礎序列化引擎及其各種選項。序列化引擎的好處在于,它隱藏了所有的基礎 XML API 代碼,而在自定義處理程序中,您通常必須編寫這些代碼。盡管多數開發人員發現這很好,但是,有一些開發人員卻認為它是一個缺陷,因為他們仍希望親自處理 WebMethod 實現中的原始 SOAP 消息。

【編輯推薦】

  1. .asmx處理程序提供的功能之消息調度
  2. WebMethod框架:實現Web服務的更高效方法
  3. .NET框架基本要求(.NET1.1)
  4. P2PMessageQueue的實際用法
  5. 點對點消息隊列函數:用于WinCE的IPC機制
責任編輯:yangsai 來源: MSDN
相關推薦

2009-08-06 18:15:31

消息調度.asmx處理程序

2009-08-07 14:14:27

自動生成WSDL.asmx處理程序

2009-12-09 09:55:39

ibmdwSpring

2010-03-05 13:28:34

SpringObject XML

2009-09-29 15:58:22

Hibernate映射

2021-12-27 08:27:17

SpringMVC面試

2013-08-20 16:14:46

pythonpython文本處理

2011-03-07 11:12:36

FileZilla

2009-08-05 16:32:25

Smooks 1.2框

2009-02-10 09:23:03

DOM模型MSXML

2009-06-03 14:06:44

ibmdwXML

2020-02-18 13:05:44

Windows 10功能Windows

2009-02-26 13:35:10

XMLSAXParserJDOM

2011-07-25 16:31:51

iOS XML 文件

2011-01-21 10:59:01

sendmail群發

2009-08-18 16:42:49

C# 操作XML

2019-05-30 14:58:56

Pythonxml文件

2020-11-19 07:20:07

微軟Pluton處理器Windows PC

2017-04-06 10:45:53

開源Cillium網絡

2020-12-10 08:21:27

XML映射Mybatis
點贊
收藏

51CTO技術棧公眾號

在线观看日本一区二区| 天堂va久久久噜噜噜久久va| 欧美精品一区二区成人| 999在线精品| 精品久久久久久亚洲国产300| 免费看污久久久| 97精品人妻一区二区三区在线 | 免费又黄又爽又色的视频| 精品欠久久久中文字幕加勒比| 在线一区二区观看| 中文字幕の友人北条麻妃| 香蕉视频国产在线| 韩日精品视频一区| 日本91av在线播放| 欧美日韩成人免费观看| 精品一区在线| 精品久久一区二区三区| 天天色综合社区| 大菠萝精品导航| |精品福利一区二区三区| 久久精品日韩精品| 国产毛片在线视频| 日本色综合中文字幕| 午夜精品久久久久久久99黑人| 大吊一区二区三区| 日韩系列在线| 欧美v亚洲v综合ⅴ国产v| 韩国中文字幕av| 在线高清av| 亚洲国产日韩综合久久精品| 制服诱惑一区| www.视频在线.com| 久久久久久久久免费| 官网99热精品| 国产福利视频导航| 毛片基地黄久久久久久天堂| 欧美中文字幕视频| 动漫精品一区一码二码三码四码| 久久精品久久久| 日韩中文有码在线视频| 免费看黄色的视频| 欧美一区 二区| 欧美精品一区二| 精品无码av一区二区三区不卡| 欧美电影在线观看网站| 欧美怡红院视频| 北条麻妃视频在线| 午夜日韩成人影院| 色综合婷婷久久| 毛片在线视频播放| 国产免费拔擦拔擦8x在线播放| 亚洲第一主播视频| 黄色一级视频在线播放| 啊啊啊久久久| 午夜精品福利一区二区三区蜜桃| 久久成人福利视频| 999av小视频在线| 欧美日韩精品在线观看| 欧美,日韩,国产在线| 国产福利片在线观看| 亚洲制服丝袜av| 18禁裸男晨勃露j毛免费观看| 女人黄色免费在线观看| 亚洲福利视频三区| 无码人妻精品一区二区三区在线 | 亚洲成人在线免费| 妞干网在线视频观看| 欧亚av在线| 日本乱码高清不卡字幕| 伊人影院综合在线| 久久中文字幕一区二区| 精品久久人人做人人爱| 私密视频在线观看| 亚洲理论电影片| 在线电影欧美日韩一区二区私密| 69xxx免费| 欧美.日韩.国产.一区.二区| 久久久亚洲福利精品午夜| 日韩成人免费在线观看| 视频精品一区二区| 成人中文字幕+乱码+中文字幕| 99国产精品久久久久久久成人| 成人黄色小视频在线观看| 欧美一区视久久| 国产一二三区在线观看| 亚洲成av人片在线观看无码| 国产aaa一级片| 超碰国产精品一区二页| 亚洲福利视频网站| 69xxx免费| 99re国产精品| 国产美女久久久| 人妻中文字幕一区| 国产精品人成在线观看免费| 成人区一区二区| 日本一区二区三区视频在线| 欧美一级日韩不卡播放免费| 波多野结衣先锋影音| 91麻豆国产自产在线观看亚洲| 欧美极度另类性三渗透| 日本丰满少妇做爰爽爽| 国产v综合v亚洲欧| 日韩欧美一区二区三区四区五区| 午夜羞羞小视频在线观看| 日韩欧美国产视频| 亚洲精品乱码久久久久久9色| 国产麻豆精品久久| 久久久久久久久久久av| 影音先锋黄色网址| 波波电影院一区二区三区| 亚洲精品在线观看免费| 国产嫩草在线视频| 欧美日韩不卡一区二区| aaaaa一级片| 国产精品v日韩精品v欧美精品网站| 日韩免费中文字幕| 亚洲美女综合网| 中文字幕在线观看一区| 亚洲熟女乱色一区二区三区| caoporn成人免费视频在线| 中文字幕视频在线免费欧美日韩综合在线看 | 国产高中女学生第一次| 亚洲国产精品传媒在线观看| 欧美三级一级片| 9l视频自拍蝌蚪9l视频成人| 视频在线一区二区| 亚洲色成人www永久网站| 白白色亚洲国产精品| 亚洲高潮无码久久| 亚洲伊人精品酒店| 最新国产成人av网站网址麻豆| 九九热在线免费观看| 成人黄色网址在线观看| 成人手机在线播放| 粉嫩av一区二区三区四区五区| 亚洲精品日韩在线| 可以在线观看av的网站| 国产91富婆露脸刺激对白| 特级毛片在线免费观看| 黄色成人在线视频| 一个色综合导航| 9i精品福利一区二区三区| 99精品视频在线播放观看| 免费av手机在线观看| 国产精品丝袜在线播放| 久久久免费精品视频| 亚洲精品国产精| 一区二区三区在线看| 想看黄色一级片| 888久久久| 1卡2卡3卡精品视频| 国产超级va在线视频| 制服.丝袜.亚洲.另类.中文| 三级全黄做爰视频| 国产一区欧美一区| 国产成人亚洲综合无码| avtt综合网| 91极品视频在线| 久久久pmvav| 在线观看欧美精品| 啪啪一区二区三区| 国产成人在线电影| 777精品久无码人妻蜜桃| 亚洲永久精品唐人导航网址| 国产精品久久不能| 老司机在线视频二区| 日韩美一区二区三区| av资源吧首页| 国产丝袜欧美中文另类| 女同激情久久av久久| 欧美日韩ab| 欧美精品七区| 综合久草视频| 久久全国免费视频| 撸视在线观看免费视频| 欧美日韩精品一区二区三区| 欧美精品一区二区成人| 久久夜色精品一区| 日韩va在线观看| 一本久道久久综合狠狠爱| 欧洲精品久久| 国色天香久久精品国产一区| 亚州精品天堂中文字幕| 国产毛片在线| 欧美成人福利视频| 亚洲国产成人无码av在线| 国产精品黄色在线观看| 亚洲无人区码一码二码三码| 天堂影院一区二区| 欧洲精品视频在线| 最新亚洲精品| 91亚洲永久免费精品| 色一区二区三区| 久久韩剧网电视剧| 午夜国产在线观看| 欧美一区二区三区人| 中文字幕在线欧美| 一区二区国产视频| 国产精品www爽爽爽| 成人黄色777网| 久久撸在线视频| 日韩亚洲在线| 黄色片免费在线观看视频| 欧美午夜精彩| 九九久久99| 日韩精品中文字幕吗一区二区| 国产成人涩涩涩视频在线观看 | 88国产精品视频一区二区三区| 精品久久精品久久| 成人精品视频在线观看| 国产精品av电影| 高清精品在线| 久久69精品久久久久久久电影好 | 久久久不卡网国产精品二区| www.色就是色.com| 日韩电影免费在线观看网站| 隔壁人妻偷人bd中字| 色天天综合网| 日韩影视精品| 蜜乳av综合| 国产亚洲精品美女久久久m| 国产精品日韩精品在线播放 | 国内av在线播放| 精品久久久久久久久国产字幕 | 色婷婷狠狠综合| 五月天综合激情| 亚洲成a人片在线观看中文| 裸体武打性艳史| 国产精品看片你懂得| 久久精品一区二区免费播放| 成人福利电影精品一区二区在线观看| 欧美又黄又嫩大片a级| 免费成人美女在线观看| 亚洲男人天堂色| 久久精品123| www.国产区| 久久av一区二区三区| 欧美不卡在线播放| 亚洲激情社区| 日本十八禁视频无遮挡| 精品白丝av| 免费看欧美黑人毛片| 亚洲高清不卡| 波多野结衣综合网| 99精品国产福利在线观看免费 | 亚洲第一视频网| 高潮毛片7777777毛片| 精品免费一区二区三区| www.久久精品.com| 精品国产乱码久久久久久浪潮 | 国产欧美日韩综合精品一区二区| 手机av免费看| 亚洲国产精品成人综合| 成人在线观看免费高清| 中文字幕av一区二区三区免费看| 国产精品视频在| 亚洲日韩欧美一区二区在线| 午夜免费激情视频| 亚洲一区二区三区三| 在线看成人av| 欧美午夜美女看片| 波多野结衣人妻| 69成人精品免费视频| 国产激情久久久久久熟女老人av| 精品国产免费视频| 蜜桃视频在线播放| 日韩在线视频观看| 女同视频在线观看| 日本精品视频在线观看| 国产黄色精品| 999热视频| 亚洲色图美女| 一本久道久久综合狠狠爱亚洲精品| 久久香蕉国产| 日韩精品在线观看av| 久久aⅴ乱码一区二区三区| 无尽裸体动漫2d在线观看| 国产一区二区三区在线观看免费视频| www.欧美com| 91浏览器在线视频| 乱老熟女一区二区三区| 亚洲午夜成aⅴ人片| 亚洲第一网站在线观看| 91精品国产入口| 天天综合天天色| 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 亚洲国产清纯| 999精品视频在线| 懂色av一区二区三区免费看| 美女脱光内衣内裤| 1000部国产精品成人观看| 日韩黄色精品视频| 欧美四级电影在线观看| 亚洲精品无amm毛片| 亚洲毛片在线免费观看| av午夜在线| 97超级碰碰人国产在线观看| 福利一区二区免费视频| 国产成人看片| 91精品综合久久久久久久久久久 | 天天人人精品| 日韩视频久久| 手机看片国产精品| 国产欧美日韩精品一区| 日韩av无码中文字幕| 91精品国产综合久久小美女| 亚洲色图狠狠干| 欧美精品在线视频观看| 99精品国自产在线| 久久99精品久久久久久秒播放器 | 青娱乐自拍偷拍| 国产一区二区福利视频| 91网站免费视频| 亚洲国产精品自拍| 国产伦精品一区二区三区视频痴汉| 亚洲精品一区av在线播放| 欧美人与禽猛交乱配| 91精品久久久久久久| 精品色999| 国产成人无码一二三区视频| 成人午夜av电影| 好吊色视频在线观看| 欧美日韩亚洲高清一区二区| 日本中文字幕电影在线观看| 久久久久免费视频| 日韩区一区二| 欧洲xxxxx| 激情综合五月婷婷| 91n在线视频| 欧美日韩在线精品一区二区三区激情 | 亚洲视频国产视频| 国产亚洲成av人片在线观看| 成人免费视频网站| 国内精品久久久久久久影视麻豆 | 一区在线播放视频| 一区二区视频播放| 亚洲一区二区国产| av在线一区不卡| 亚洲成人蜜桃| 免费人成网站在线观看欧美高清| 好吊视频在线观看| 欧洲精品中文字幕| 成人在线免费视频| 国产精品福利网站| 日本不卡电影| 91 在线视频观看| 中文字幕一区二区三区在线不卡 | 欧美a级大片在线| 午夜久久久久久久久久久| 国产剧情一区二区三区| 好吊色视频在线观看| 精品三级av在线| 蜜桃av在线播放| 青青成人在线| 蜜桃av一区二区三区电影| 亚洲区一区二区三| 日韩欧美一级二级三级| 懂色av一区| 牛人盗摄一区二区三区视频| 日韩av在线免费观看不卡| 婷婷丁香综合网| 欧美一级日韩免费不卡| 波多野结衣在线观看| 免费久久一级欧美特大黄| 蜜桃精品视频在线| 精品99在线观看| 日韩成人免费视频| 日韩一区二区三区免费视频| 在线国产伦理一区| 丁香激情综合五月| 亚洲欧美自拍视频| 中文字幕日韩av综合精品| 日韩三级不卡| 欧美少妇性生活视频| 亚洲视频在线一区二区| 日本美女一级片| 国产精品久久综合av爱欲tv| 综合久久综合| 法国伦理少妇愉情| 在线播放/欧美激情| 毛片在线网站| 亚洲自拍三区| 成人h动漫精品| 中文字幕第315页| 欧美黄色片免费观看| 精品久久久久久久久久久aⅴ| www.桃色.com| 色香色香欲天天天影视综合网| 成人av黄色| 欧美午夜精品久久久久久蜜| 国产一区二区成人久久免费影院| 日韩精品一区三区| 日韩在线一区二区三区免费视频| 国产亚洲精品美女久久| 久久婷婷综合色| 午夜av一区二区三区| 九义人在线观看完整免费版电视剧| 精品一区二区三区视频日产| 国产主播一区二区| av图片在线观看|