精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

久久无码高潮喷水| 精品对白一区国产伦| 精品日产一区2区三区黄免费| 久草视频精品在线| 九九热线有精品视频99| 欧美午夜免费电影| 国产精品国三级国产av| 偷拍自拍在线| 国产色综合网| 久久夜色撩人精品| 在线黄色免费网站| 欧美日韩成人免费视频| 日日噜噜夜夜狠狠久久波多野| 7777精品| 亚洲国产精品一区二区www| 97人人干人人| 欧美另类高清videos的特点| 国产综合自拍| 亚洲福利视频网| 日韩精品视频一二三| 日韩伦理在线| 亚洲欧美二区三区| 青青草国产精品| 亚洲欧美高清视频| 日韩不卡手机在线v区| 久久久久久久成人| 亚洲ai欧洲av| 日韩精品中文字幕一区 | 99久久国产精| 成人午夜亚洲| 亚洲欧洲无码一区二区三区| 快播亚洲色图| 国产绳艺sm调教室论坛| 老司机午夜免费精品视频| 欧美福利视频在线| 国产在线免费看| 国产精品jk白丝蜜臀av小说| 91精品福利在线一区二区三区| 亚洲国产精品毛片av不卡在线| 538在线视频| 中文字幕在线观看不卡| 日本在线一区| 精彩国产在线| 91女厕偷拍女厕偷拍高清| 超碰97人人人人人蜜桃| 国产视频精品va久久久久久| 无码人妻一区二区三区免费n鬼沢| 国产美女久久| 五月天一区二区| 成人毛片一区二区| 2019中文字幕在线电影免费| 最新中文字幕一区二区三区| 中文字幕一区二区三区最新| 91社区在线| 久久精品一区八戒影视| 日本精品二区| 国产私人尤物无码不卡| 国产日韩欧美麻豆| 亚洲精品久久久久久一区二区| 国产三区四区在线观看| 久久久午夜电影| 欧美亚洲另类在线一区二区三区 | 国产98色在线|日韩| 亚洲永久免费观看| 亚洲AV无码一区二区三区少妇| 美美哒免费高清在线观看视频一区二区| 国产精品久久9| 中文在线免费看视频| 久久99精品久久久久| 92看片淫黄大片看国产片| 国内毛片毛片毛片毛片| 风间由美一区二区三区在线观看| 久久久www成人免费无遮挡大片| 国产亚洲美州欧州综合国| 久久久久久久91| 亚洲永久精品在线观看| 在线免费高清一区二区三区| 97超碰国产精品女人人人爽| 福利网址在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品三级美女白浆呻吟| 国产又大又粗又长| 成人精品免费网站| 奇米精品在线| xvideos国产在线视频| 亚洲一区二区三区四区五区黄 | 欧美丝袜丝nylons| 热久久久久久久久| 欧美日韩成人影院| 日韩欧美自拍偷拍| 亚洲永久精品ww.7491进入| 日韩欧美三级| 久久久久久成人精品| 免费看一级视频| 国产美女一区二区| 免费看国产精品一二区视频| 丝袜美腿美女被狂躁在线观看| 一区二区久久久久| 人人干视频在线| 男人亚洲天堂| 精品剧情v国产在线观看在线| aa片在线观看视频在线播放| 国产精品欧美日韩一区| 欧美成人小视频| 欧美人一级淫片a免费播放| 性欧美18一19性猛交| 91精品一区国产高清在线gif| 欧美日韩国产二区| 日批视频免费在线观看| 国产老妇另类xxxxx| 欧美福利精品| 欧美性受ⅹ╳╳╳黑人a性爽| 91高清在线观看| 91成人在线观看喷潮蘑菇| 日本高清免费电影一区| 97久久伊人激情网| 中文字幕网址在线| 久久先锋影音av| 777久久精品一区二区三区无码 | www.亚洲.com| 亚洲成人自拍网| 成人黄色一级大片| 国产精品手机在线播放 | 色婷婷综合激情| www.日本一区| 精品欧美久久| 97视频在线播放| 性网爆门事件集合av| 久久久噜噜噜久久中文字幕色伊伊| 一级黄色片播放| 黑人一区二区三区| 亚久久调教视频| 日韩麻豆第一页| www.youjizz.com亚洲| 狠狠色丁香婷婷综合久久片| 岛国视频一区免费观看| 欧洲亚洲精品视频| 亚洲乱码一区二区三区在线观看| 日韩精品视频一二三| 欧美丝袜一区| 国产精品视频成人| 超碰在线国产| 欧美伊人精品成人久久综合97 | 国产亚洲精品中文字幕| 久久手机在线视频| 超级碰碰久久| 亚洲人成网在线播放| a v视频在线观看| 成人avav在线| 少妇高潮毛片色欲ava片| 国产精品一区免费在线 | 欧美激情护士| 日韩电影在线观看中文字幕| 自拍偷拍欧美亚洲| 成人丝袜视频网| 久久久久久久久久久99| 国产精品自在| 欧美亚洲第一页| 欧美成人综合在线| 亚洲欧洲综合另类| 欧美xxxx日本和非洲| 在线观看一区| 成人午夜影院在线观看| av手机在线观看| 97久久超碰精品国产| 久久成人精品电影| 国产丰满美女做爰| 亚洲国产精品一区二区www| 国产白袜脚足j棉袜在线观看| 亚洲国产精品一区| 久久av免费观看| 欧美日韩在线精品一区二区三区激情综合| 一区二区三区 在线观看视| 欧美性受xxx黑人xyx性爽| 久久久国际精品| 精品一卡二卡三卡| 四季av一区二区三区免费观看| 成人性教育视频在线观看| 黄色国产网站在线播放| 日韩免费视频一区二区| 欧美黑人精品一区二区不卡| 不卡一区二区在线| 成人免费视频久久| 99精品视频在线| 国产精品视频免费一区| 亚洲wwww| 欧美日韩成人在线视频| 色综合成人av| 宅男在线国产精品| 亚洲高清毛片一区二区| 日本一区二区成人| 男插女视频网站| 久久一区精品| 久久国产精品免费观看| 中文精品一区二区| 7777精品久久久大香线蕉小说| 中文字幕91视频| 欧美区国产区| 色综合电影网| 国内精品国产成人国产三级粉色 | 日韩视频免费在线观看| 免费看黄网站在线观看| 欧美日韩一区小说| 国产成人亚洲欧洲在线| 亚洲图片你懂的| 成年人免费观看视频网站| 国产白丝网站精品污在线入口| 久久精品视频91| 中国成人一区| 亚洲成人在线视频网站| 深夜福利一区二区三区| 国产精品永久在线| 亚洲人体视频| 九九热这里只有精品6| 欧美白人做受xxxx视频| 欧美不卡一区二区| 国产一区二区麻豆| 91福利国产精品| 国产成人在线播放视频| 亚洲精品国产精品乱码不99| 免费看的黄色网| 2020国产精品久久精品美国| 日本美女视频网站| 激情五月婷婷综合网| 人妻少妇被粗大爽9797pw| 伊人激情综合| 特大黑人娇小亚洲女mp4| 精品午夜久久| 亚洲欧美另类图片小说| 欧美一区二区三区影院| 久久综合影视| 男人亚洲天堂网| 在线视频精品| 国产深夜男女无套内射| 亚洲一本二本| 亚洲欧美一二三| 欧美日韩水蜜桃| 欧洲精品国产| 精品一区毛片| 久久精品欧美| 亚洲免费一区三区| 97人人模人人爽人人喊38tv| 国产va免费精品观看精品| 91精品国产自产在线老师啪 | 国产色视频一区二区三区qq号| 成人免费av在线| www日本在线观看| 看国产成人h片视频| 亚洲熟妇无码另类久久久| 在线日韩av| 给我免费播放片在线观看| 亚洲激情婷婷| 少妇高潮喷水在线观看| 亚洲伦理一区| 日韩av在线综合| 日本在线观看不卡视频| 91人人澡人人爽人人精品| 免费在线看成人av| 免费在线观看污网站| 奇米888四色在线精品| 污网站免费在线| 激情都市一区二区| 色综合久久久无码中文字幕波多| 国产91丝袜在线观看| 欧美在线观看视频| 一级黄在线观看| 色欧美88888久久久久久影院| 日韩成人高清视频| 亚洲精品国产a久久久久久| 日本一级片免费| 亚洲综合男人的天堂| 亚洲 欧美 视频| 亚洲精品免费电影| 顶臀精品视频www| 国产日韩精品一区| 婷婷伊人五月天| 亚洲国产人成综合网站| 久久久久久在线观看| 67194成人在线观看| 日批视频在线播放| 亚洲视频电影图片偷拍一区| 黄色av网站在线播放| 欧美乱大交xxxxx| 国产精品专区免费| 91久久久久久| 蜜桃久久久久| 亚洲综合av一区| 欧美日韩一卡| 成人久久久久久久久| 极品尤物av久久免费看| 人体私拍套图hdxxxx| 国产婷婷一区二区| 黄色一级片一级片| 亚洲成人免费在线观看| 久草热在线观看| 精品国产一二三区| 国产青青草在线| 欧美精品久久久久a| www.久久| 久久99精品久久久久久三级| 欧美中文一区二区| 日本美女爱爱视频| 日韩二区三区四区| 香蕉在线观看视频| 国产精品网站在线| 久久久久久久久97| 欧美日韩国产综合一区二区 | 亚洲国模精品私拍| sm国产在线调教视频| 欧美一级高清免费播放| 日韩一二三区| 伊人狠狠色丁香综合尤物| 激情偷拍久久| 国产91对白刺激露脸在线观看| 国产麻豆精品在线| 成人无码精品1区2区3区免费看| 欧美性生活大片免费观看网址| www.狠狠干| 日韩经典一区二区三区| 激情影院在线| 91麻豆桃色免费看| 日本a口亚洲| 又色又爽又高潮免费视频国产| 91sp网站在线观看入口| 精品亚洲国产成av人片传媒| 日本不卡影院| 5g国产欧美日韩视频| 国产精品福利在线观看播放| 国产精品无码一区二区在线| 国产91精品一区二区麻豆网站 | 国产精品mv在线观看| 国产亚洲视频一区| 亚洲国产精品成人综合| 成人公开免费视频| 国产丝袜一区二区三区免费视频| 日韩经典av| 国产精品亚洲综合天堂夜夜| av亚洲在线观看| 黄色成人免费看| 国产女主播视频一区二区| 亚洲影院在线播放| 亚洲欧美资源在线| 性欧美1819sex性高清| 日韩在线电影一区| 日本午夜一区二区| 东京热无码av男人的天堂| 欧美中文字幕久久| www 日韩| 91视频免费网站| 欧美aa国产视频| aaa黄色大片| 午夜久久久久久电影| 熟妇人妻中文av无码| 2019中文字幕在线| 久久大胆人体视频| 欧美 日韩精品| 国产女同互慰高潮91漫画| 中文字幕第2页| 久久天天躁狠狠躁夜夜躁| 日韩一区二区三区精品| 日韩av中文字幕第一页| 99精品欧美一区二区三区小说| 四虎成人永久免费视频| 亚洲女人初尝黑人巨大| 草莓视频成人appios| 亚洲国产日韩综合一区| 国内精品免费**视频| 精品人妻在线播放| 日韩国产欧美精品在线| 色婷婷综合久久久中字幕精品久久| 免费中文日韩| 免费高清视频精品| 7777精品伊久久久大香线蕉语言| 国产亚洲久久| a级网站在线观看| 99麻豆久久久国产精品免费 | 国产精品中文字幕久久久| 日韩精品看片| gogo亚洲国模私拍人体| 岛国av一区二区在线在线观看| 亚洲成人中文字幕在线| 国产97在线|亚洲| 亚洲精品电影| 一级国产黄色片| 欧美日韩另类一区| 浪潮av一区| 精品国产乱码久久久久久丨区2区| 日韩影院免费视频| 久久午夜精品视频| 精品日韩在线观看| 天堂8中文在线最新版在线| 亚洲电影网站| 国产毛片精品视频| 91丝袜一区二区三区| 久久国产精品久久久久久久久久| 视频精品国内| 日本888xxxx| 偷拍日韩校园综合在线| 毛片免费不卡| 你懂的视频在线一区二区|