日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET Core中间件(Middleware)实现WCF SOAP服务端解析

發布時間:2023/12/4 asp.net 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET Core中间件(Middleware)实现WCF SOAP服务端解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ASP.NET Core中間件(Middleware)進階學習實現SOAP 解析。

本篇將介紹實現ASP.NET Core?SOAP服務端解析,而不是ASP.NET Core整個WCF host。

因為WCF中不僅僅只是有SOAP, 它還包含很多如消息安全性,生成WSDL,雙工信道,非HTTP傳輸等。

ASP.NET Core 官方推薦大家使用RESTful Web API的解決方案提供網絡服務。

SOAP?即 Simple Object AccessProtocol?也就是簡單對象訪問協議。

SOAP 呢,其指導理念是“唯一一個沒有發明任何新技術的技術”,

是一種用于訪問 Web 服務的協議。

因為 SOAP 基于XML 和 HTTP ,其通過XML 來實現消息描述,然后再通過 HTTP 實現消息傳輸。

SOAP 是用于在應用程序之間進行通信的一種通信協議。

因為是基于 XML 和HTTP 的,所以其獨立于語言,獨立于平臺,并且因為 XML 的擴展性很好,所以基于 XML 的 SOAP 自然擴展性也不差。

通過 SOAP 可以非常方便的解決互聯網中消息互聯互通的需求,其和其他的 Web 服務協議構建起 SOA 應用的技術基礎。

?

下面來正式開始 ASP.NET Core 實現SOAP 服務端解析。

新建項目

首先新建一個ASP.NET Core Web Application -》?SOAPService?然后再模板里選擇 Web API。

然后我們再添加一個Class Library -》?CustomMiddleware

實現

下面我們來實現功能,首先在類庫項目中添加以下引用

Install-Package Microsoft.AspNetCore.Http.Abstractions Install-Package System.ServiceModel.Primitives Install-Package System.Reflection.TypeExtensions Install-Package System.ComponentModel


首先新建一個?ServiceDescription、ContractDescription和OperationDescription 類,這里需要注意的是ServiceDescription,ContractDescription和OperationDescription這里使用的是不能使用 System.ServiceModel.Description命名空間中的類型。它們是示例中簡單的新類型。

ServiceDescription.cs


public class ServiceDescription

? ? {

? ? ? ? public Type ServiceType { get; private set; }

? ? ? ? public IEnumerable<ContractDescription> Contracts { get; private set; }

? ? ? ? public IEnumerable<OperationDescription> Operations => Contracts.SelectMany(c => c.Operations);


? ? ? ? public ServiceDescription(Type serviceType)

? ? ? ? {

? ? ? ? ? ? ServiceType = serviceType;


? ? ? ? ? ? var contracts = new List<ContractDescription>();


? ? ? ? ? ? foreach (var contractType in ServiceType.GetInterfaces())

? ? ? ? ? ? {

? ? ? ? ? ? ? ? foreach (var serviceContract in contractType.GetTypeInfo().GetCustomAttributes<ServiceContractAttribute>())

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? contracts.Add(new ContractDescription(this, contractType, serviceContract));

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }


? ? ? ? ? ? Contracts = contracts;

? ? ? ? }

? ? }

ContractDescription.cs


public class ContractDescription

? ? {

? ? ? ? public ServiceDescription Service { get; private set; }

? ? ? ? public string Name { get; private set; }

? ? ? ? public string Namespace { get; private set; }

? ? ? ? public Type ContractType { get; private set; }

? ? ? ? public IEnumerable<OperationDescription> Operations { get; private set; }


? ? ? ? public ContractDescription(ServiceDescription service, Type contractType, ServiceContractAttribute attribute)

? ? ? ? {

? ? ? ? ? ? Service = service;

? ? ? ? ? ? ContractType = contractType;

? ? ? ? ? ? Namespace = attribute.Namespace ?? "http://tempuri.org/"; // Namespace defaults to http://tempuri.org/

? ? ? ? ? ? Name = attribute.Name ?? ContractType.Name; // Name defaults to the type name


? ? ? ? ? ? var operations = new List<OperationDescription>();

? ? ? ? ? ? foreach (var operationMethodInfo in ContractType.GetTypeInfo().DeclaredMethods)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? foreach (var operationContract in operationMethodInfo.GetCustomAttributes<OperationContractAttribute>())

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? operations.Add(new OperationDescription(this, operationMethodInfo, operationContract));

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? Operations = operations;

? ? ? ? }

? ? }

OperationDescription.cs


public class OperationDescription

? ? {

? ? ? ? public ContractDescription Contract { get; private set; }

? ? ? ? public string SoapAction { get; private set; }

? ? ? ? public string ReplyAction { get; private set; }

? ? ? ? public string Name { get; private set; }

? ? ? ? public MethodInfo DispatchMethod { get; private set; }

? ? ? ? public bool IsOneWay { get; private set; }


? ? ? ? public OperationDescription(ContractDescription contract, MethodInfo operationMethod, OperationContractAttribute contractAttribute)

? ? ? ? {

? ? ? ? ? ? Contract = contract;

? ? ? ? ? ? Name = contractAttribute.Name ?? operationMethod.Name;

? ? ? ? ? ? SoapAction = contractAttribute.Action ?? $"{contract.Namespace.TrimEnd('/')}/{contract.Name}/{Name}";

? ? ? ? ? ? IsOneWay = contractAttribute.IsOneWay;

? ? ? ? ? ? ReplyAction = contractAttribute.ReplyAction;

? ? ? ? ? ? DispatchMethod = operationMethod;

? ? ? ? }

? ? }

?

添加完成后下面來新建一個中間件?SOAPMiddleware ,對于新建中間件可以參考我之前的文章:http://www.cnblogs.com/linezero/p/5529767.html

SOAPMiddleware.cs 代碼如下:


public class SOAPMiddleware

? ? {

? ? ? ? private readonly RequestDelegate _next;

? ? ? ? private readonly Type _serviceType;

? ? ? ? private readonly string _endpointPath;

? ? ? ? private readonly MessageEncoder _messageEncoder;

? ? ? ? private readonly ServiceDescription _service;

? ? ? ? private IServiceProvider serviceProvider;


? ? ? ? public SOAPMiddleware(RequestDelegate next, Type serviceType, string path, MessageEncoder encoder,IServiceProvider _serviceProvider)

? ? ? ? {

? ? ? ? ? ? _next = next;

? ? ? ? ? ? _serviceType = serviceType;

? ? ? ? ? ? _endpointPath = path;

? ? ? ? ? ? _messageEncoder = encoder;

? ? ? ? ? ? _service = new ServiceDescription(serviceType);

? ? ? ? ? ? serviceProvider = _serviceProvider;

? ? ? ? }


? ? ? ? public async Task Invoke(HttpContext httpContext)

? ? ? ? {

? ? ? ? ? ? if (httpContext.Request.Path.Equals(_endpointPath, StringComparison.Ordinal))

? ? ? ? ? ? {

? ? ? ? ? ? ? ? Message responseMessage;


? ? ? ? ? ? ? ? //讀取Request請求信息

? ? ? ? ? ? ? ? var requestMessage = _messageEncoder.ReadMessage(httpContext.Request.Body, 0x10000, httpContext.Request.ContentType);

? ? ? ? ? ? ? ? var soapAction = httpContext.Request.Headers["SOAPAction"].ToString().Trim('\"');

? ? ? ? ? ? ? ? if (!string.IsNullOrEmpty(soapAction))

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? requestMessage.Headers.Action = soapAction;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? //獲取操作

? ? ? ? ? ? ? ? var operation = _service.Operations.Where(o => o.SoapAction.Equals(requestMessage.Headers.Action, StringComparison.Ordinal)).FirstOrDefault();

? ? ? ? ? ? ? ? if (operation == null)

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? throw new InvalidOperationException($"No operation found for specified action: {requestMessage.Headers.Action}");

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? //獲取注入的服務

? ? ? ? ? ? ? ? var serviceInstance = serviceProvider.GetService(_service.ServiceType);


? ? ? ? ? ? ? ? //獲取操作的參數信息

? ? ? ? ? ? ? ? var arguments = GetRequestArguments(requestMessage, operation);


? ? ? ? ? ? ? ? // 執行操作方法

? ? ? ? ? ? ? ? var responseObject = operation.DispatchMethod.Invoke(serviceInstance, arguments.ToArray());


? ? ? ? ? ? ? ? var resultName = operation.DispatchMethod.ReturnParameter.GetCustomAttribute<MessageParameterAttribute>()?.Name ?? operation.Name + "Result";

? ? ? ? ? ? ? ? var bodyWriter = new ServiceBodyWriter(operation.Contract.Namespace, operation.Name + "Response", resultName, responseObject);

? ? ? ? ? ? ? ? responseMessage = Message.CreateMessage(_messageEncoder.MessageVersion, operation.ReplyAction, bodyWriter);


? ? ? ? ? ? ? ? httpContext.Response.ContentType = httpContext.Request.ContentType;

? ? ? ? ? ? ? ? httpContext.Response.Headers["SOAPAction"] = responseMessage.Headers.Action;


? ? ? ? ? ? ? ? _messageEncoder.WriteMessage(responseMessage, httpContext.Response.Body);

? ? ? ? ? ? }

? ? ? ? ? ? else

? ? ? ? ? ? {

? ? ? ? ? ? ? ? await _next(httpContext);

? ? ? ? ? ? }

? ? ? ? }


? ? ? ? private object[] GetRequestArguments(Message requestMessage, OperationDescription operation)

? ? ? ? {

? ? ? ? ? ? var parameters = operation.DispatchMethod.GetParameters();

? ? ? ? ? ? var arguments = new List<object>();


? ? ? ? ? ? // 反序列化請求包和對象

? ? ? ? ? ? using (var xmlReader = requestMessage.GetReaderAtBodyContents())

? ? ? ? ? ? {

? ? ? ? ? ? ? ? // 查找的操作數據的元素

? ? ? ? ? ? ? ? xmlReader.ReadStartElement(operation.Name, operation.Contract.Namespace);


? ? ? ? ? ? ? ? for (int i = 0; i < parameters.Length; i++)

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? var parameterName = parameters[i].GetCustomAttribute<MessageParameterAttribute>()?.Name ?? parameters[i].Name;

? ? ? ? ? ? ? ? ? ? xmlReader.MoveToStartElement(parameterName, operation.Contract.Namespace);

? ? ? ? ? ? ? ? ? ? if (xmlReader.IsStartElement(parameterName, operation.Contract.Namespace))

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? var serializer = new DataContractSerializer(parameters[i].ParameterType, parameterName, operation.Contract.Namespace);

? ? ? ? ? ? ? ? ? ? ? ? arguments.Add(serializer.ReadObject(xmlReader, verifyObjectName: true));

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }


? ? ? ? ? ? return arguments.ToArray();

? ? ? ? }

? ? }


? ? public static class SOAPMiddlewareExtensions

? ? {

? ? ? ? public static IApplicationBuilder UseSOAPMiddleware<T>(this IApplicationBuilder builder, string path, MessageEncoder encoder)

? ? ? ? {

? ? ? ? ? ? return builder.UseMiddleware<SOAPMiddleware>(typeof(T), path, encoder);

? ? ? ? }

? ? ? ? public static IApplicationBuilder UseSOAPMiddleware<T>(this IApplicationBuilder builder, string path, Binding binding)

? ? ? ? {

? ? ? ? ? ? var encoder = binding.CreateBindingElements().Find<MessageEncodingBindingElement>()?.CreateMessageEncoderFactory().Encoder;

? ? ? ? ? ? return builder.UseMiddleware<SOAPMiddleware>(typeof(T), path, encoder);

? ? ? ? }

? ? }

這里對于輸出的消息做了一個封裝,以輸出具有正確的元素名稱的消息的主體。

添加一個?ServiceBodyWriter 類。

public class ServiceBodyWriter : BodyWriter

? ? {

? ? ? ? string ServiceNamespace;

? ? ? ? string EnvelopeName;

? ? ? ? string ResultName;

? ? ? ? object Result;


? ? ? ? public ServiceBodyWriter(string serviceNamespace, string envelopeName, string resultName, object result) : base(isBuffered: true)

? ? ? ? {

? ? ? ? ? ? ServiceNamespace = serviceNamespace;

? ? ? ? ? ? EnvelopeName = envelopeName;

? ? ? ? ? ? ResultName = resultName;

? ? ? ? ? ? Result = result;

? ? ? ? }


? ? ? ? protected override void OnWriteBodyContents(XmlDictionaryWriter writer)

? ? ? ? {

? ? ? ? ? ? writer.WriteStartElement(EnvelopeName, ServiceNamespace);

? ? ? ? ? ? var serializer = new DataContractSerializer(Result.GetType(), ResultName, ServiceNamespace);

? ? ? ? ? ? serializer.WriteObject(writer, Result);

? ? ? ? ? ? writer.WriteEndElement();

? ? ? ? }

? ? }


這里對于中間件整個就完成了。

服務端

在服務端使用,這里你也可以新建一個Web 項目。

因為剛剛我們已經新建好了一個Web API項目,我們就直接拿來使用。

首先添加?CustomMiddleware 引用

在?SOAPService 中添加一個?CalculatorService 類

這里我為了方便將接口契約也放在CalculatorService 中,你也可以新建一個接口。

然后在 Startup.cs ?的?ConfigureServices 中注入?CalculatorService

public void ConfigureServices(IServiceCollection services)
? ? ? ?{ ? ? ? ? ? ?// Add framework services. ? ? ? ? ? ?services.AddMvc();services.AddScoped<CalculatorService>();}

在Configure 方法中加入中間件

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)

? ? ? ? {

? ? ? ? ? ? loggerFactory.AddConsole(Configuration.GetSection("Logging"));

? ? ? ? ? ? loggerFactory.AddDebug();

? ? ? ? ? ? //加入一個/CalculatorService.svc 地址,綁定Http

? ? ? ? ? ? app.UseSOAPMiddleware<CalculatorService>("/CalculatorService.svc", new BasicHttpBinding());


? ? ? ? ? ? app.UseMvc();

? ? ? ? }


這樣就完成了服務端編寫。

客戶端

新建一個 Console Application -》SOAPClient

添加如下引用:

Install-Package System.ServiceModel.Primitives Install-Package System.Private.ServiceModel Install-Package System.ServiceModel.Http

?

Program代碼如下:


編寫好以后,分別對應到目錄使用dotnet run執行程序。

成功建立了連接,也有返回。也就實現SOAP 的解析。

?

示例代碼GitHub:https://github.com/linezero/Blog/tree/master/SOAPService

?

參考文檔:https://blogs.msdn.microsoft.com/dotnet/2016/09/19/custom-asp-net-core-middleware-example/

原文地址:http://www.cnblogs.com/linezero/p/aspnetcoresoap.html


.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

總結

以上是生活随笔為你收集整理的ASP.NET Core中间件(Middleware)实现WCF SOAP服务端解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

色综合咪咪久久网 | 午夜视频免费播放 | 日韩中文字幕免费电影 | av日韩不卡 | 国产剧情久久 | 亚洲精品美女久久久久 | 久久国产热| 国产美女视频一区 | 日韩网站免费观看 | 日韩av中文字幕在线免费观看 | 在线观看理论 | 麻豆一精品传二传媒短视频 | 国产高清在线免费 | 四虎在线免费观看 | 国产一区二区成人 | 九九视频在线 | 日本在线观看一区二区 | 黄色最新网址 | 日日夜夜免费精品视频 | 精品国产一区二区三区久久影院 | 成人免费看黄 | 97电影网站| 五月开心六月婷婷 | 久久国产一二区 | 久久tv | 午夜少妇av | 九九99| 看av免费| 亚州国产精品久久久 | 黄色在线免费观看网址 | 国产午夜三级一区二区三 | 日韩最新在线视频 | 夜夜操夜夜干 | 手机在线中文字幕 | 久久午夜精品 | 天天操天天操天天操 | 日韩精品一区二区不卡 | 欧美日韩一区二区久久 | 一区二区三区视频 | 97视频入口免费观看 | 国产一级视频在线免费观看 | 亚洲美女精品视频 | 五月天激情在线 | 国产乱码精品一区二区三区介绍 | 丁香婷五月 | 亚洲精品乱码久久久久久9色 | 免费黄色在线播放 | 日日夜夜草| 亚洲精品视频www | 69av久久 | 日本一区二区三区免费观看 | 久久久久久久毛片 | 久久精品视频在线看 | 欧美精品久久人人躁人人爽 | 欧美精品免费视频 | 黄色的片子 | 欧美大片www | 婷婷草 | 国产裸体bbb视频 | 日韩电影一区二区三区在线观看 | 香蕉影院在线播放 | 在线播放日韩av | 波多野结衣视频在线 | 人人插人人澡 | 成人av免费网站 | 日韩中文字幕在线看 | 九九精品久久久 | 国产亚洲日 | 免费av片在线 | 欧美精品在线观看免费 | 国产丝袜制服在线 | 精品美女国产在线 | 99精品黄色片免费大全 | 韩国一区在线 | 91麻豆精品国产午夜天堂 | 亚洲第一av在线 | 美女网站在线免费观看 | 2021国产在线视频 | 五月婷社区 | 91人人射| 91系列在线观看 | 国产精品久久久久一区二区三区 | 国产精品欧美激情在线观看 | 青青河边草观看完整版高清 | 九色在线视频 | 超碰人人在线 | 日韩美在线| 国产美女在线精品免费观看 | 久久久久免费精品 | 中文字幕乱码日本亚洲一区二区 | 日韩精品一区二区三区在线视频 | 天天操人人干 | 国产亚洲精品久久久网站好莱 | 九九在线国产视频 | 最近最新中文字幕视频 | 亚洲精品国偷自产在线99热 | 婷婷中文字幕综合 | 91色影院| 中文在线8资源库 | 国内精自线一二区永久 | av黄色免费看 | 国产精品久久久久久妇 | 激情丁香在线 | 日韩啪啪小视频 | 精品久久免费 | 国产在线一区二区 | 国产日韩视频在线 | 99久久久成人国产精品 | 亚洲国产精品传媒在线观看 | 在线免费观看国产 | 白丝av免费观看 | 日韩和的一区二在线 | 天天玩天天干天天操 | 久久久国产日韩 | 国产拍在线 | av噜噜噜在线播放 | 国产尤物在线 | 99精品视频在线播放观看 | 午夜在线国产 | 色在线最新 | 国产尤物在线 | av在线免费观看不卡 | 中文字幕在线看视频 | 91视频在线免费看 | 国产精品一区二区免费看 | av在线播放免费 | 91av资源在线 | 亚州av成人 | 怡红院av | www久久久久| 国产美女永久免费 | 久久综合中文字幕 | 欧洲精品码一区二区三区免费看 | 久久久久久久久久久久久影院 | 正在播放一区二区 | 国产午夜免费视频 | 久久午夜免费视频 | 一级特黄aaa大片在线观看 | 国产精品久久久久久久久久久免费 | 久久视频在线 | 国产一区二区精品在线 | 天堂av网址| av电影亚洲| 人人狠狠综合久久亚洲婷 | 国产视频在线播放 | 日韩免费小视频 | 婷婷丁香国产 | 国产精品mv | 国产系列在线观看 | 国产精品久久久久永久免费 | 国产中文视频 | 国产精品一区久久久久 | 欧美成人播放 | 日韩免费视频观看 | 91视频观看免费 | 国产精品成人一区二区 | 日日碰夜夜爽 | 激情综合色综合久久综合 | a级国产乱理伦片在线观看 亚洲3级 | www.久久色| 91麻豆精品国产91久久久久久 | 婷婷五天天在线视频 | 91丨九色丨蝌蚪丨老版 | 99精品小视频 | 亚洲网站在线 | 久久www免费视频 | 天堂黄色片 | 国产最新视频在线观看 | 日韩精品一二三 | 一区二区三区高清在线观看 | 日本在线观看一区二区 | 国产精品一区二区中文字幕 | 国产录像在线观看 | 婷婷 综合 色 | 亚洲伦理一区二区 | 国产精品久久电影观看 | a v在线视频 | 精品美女久久久久久免费 | av福利电影| 精品国产美女 | 久久99精品国产麻豆宅宅 | 久久免费视频1 | 97成人在线 | 一级免费av | 午夜精品久久久久久久99水蜜桃 | 精品久久久久久亚洲综合网站 | av中文字幕在线看 | 欧美成a人片在线观看久 | 黄色毛片视频 | 成人a级网站 | 国产夫妻性生活自拍 | 久久久久久久久久久久久久免费看 | 欧美大片在线观看一区 | 久久超碰97 | 亚洲精品免费播放 | 国产精品久久久久久久毛片 | 在线观看中文字幕视频 | 97在线播放| 国产高清综合 | 国产午夜一区 | 精品中文字幕在线观看 | 最近中文字幕在线中文高清版 | 视频 天天草| 天天色天天干天天 | 婷婷国产v亚洲v欧美久久 | 不卡av在线 | 久草资源在线观看 | 91丝袜美腿| 美女网站在线 | 亚洲综合国产精品 | 91精品久久久久 | 色网站国产精品 | 国产福利一区二区三区在线观看 | 91亚洲欧美 | 国产精品成人久久久 | 色视频网址 | 日韩在线观看a | 天天综合天天做天天综合 | 天天爽天天爽天天爽 | 婷婷丁香导航 | 九九色综合 | 蜜臀久久99精品久久久无需会员 | 中文字幕在线久一本久 | 麻豆91精品91久久久 | 特级片免费看 | 高清av中文在线字幕观看1 | 日韩视频www| 国产成人av综合色 | 男女激情麻豆 | 青青视频一区 | 亚州人成在线播放 | 在线a人片免费观看视频 | 国内成人精品2018免费看 | 日韩av专区 | av福利在线播放 | 精品久久久久亚洲 | 99热精品国产 | 激情丁香综合五月 | 国产高清福利在线 | 天天爱天天操天天射 | 黄色a一级片 | 在线免费黄网站 | 免费在线精品视频 | 日日夜夜草 | 亚洲精品久久视频 | 在线观看你懂的网站 | 国产一二区视频 | 少妇视频在线播放 | 国产成人精品一区二区三区网站观看 | 2017狠狠干 | 亚洲.www | 久草在线中文888 | 亚洲精品免费在线播放 | 欧美大片mv免费 | 在线高清| 日韩精品中文字幕在线播放 | 香蕉网站在线观看 | 国产精品丝袜久久久久久久不卡 | 99精品国产福利在线观看免费 | 九九视频免费在线观看 | 国产精品免费视频网站 | 国产在线精品国自产拍影院 | 亚洲尺码电影av久久 | 欧美日韩不卡在线 | 免费高清在线视频一区· | 精品久久一区 | av视屏在线| 天堂av在线 | 国产中文字幕视频在线 | 久久久久久久看片 | 在线观影网站 | 国产又粗又猛又色又黄网站 | a级片韩国 | 97超碰成人 | 超碰97人人爱 | 久久成人欧美 | 国产a级精品| 性色av一区二区三区在线观看 | 狠狠干网站 | 顶级bbw搡bbbb搡bbbb | 欧美日韩二区三区 | 久草在线视频在线 | 激情综合啪啪 | 天天射色综合 | 中文字幕av电影下载 | 亚洲国产av精品毛片鲁大师 | 亚洲午夜久久久久久久久 | 国产99精品在线观看 | 91热这里只有精品 | av爱干| 天天草天天草 | 日韩另类在线 | 国产精品一区二区三区免费视频 | 日韩高清一 | 国产专区视频在线观看 | 久久午夜精品 | 国产色小视频 | 麻豆视频国产在线观看 | 国产分类视频 | 粉嫩一二三区 | 中文字幕高清免费日韩视频在线 | 婷婷色狠狠| 久久久久久久久久久久99 | 女人18毛片a级毛片一区二区 | 亚洲国产精品小视频 | 欧美一区二区精品在线 | 91九色综合| 成年人免费观看在线视频 | 国产在线视频一区二区三区 | 天天综合色网 | 国产精品一区二区 91 | 激情综合国产 | 久久综合爱 | 一级黄色电影网站 | 99精品免费视频 | 又黄又爽的视频在线观看网站 | 91精品啪在线观看国产线免费 | 97超级碰碰| 激情综合一区 | 97免费中文视频在线观看 | 黄色小说18 | 五月天婷婷丁香花 | 国产免费资源 | 国内外成人在线视频 | 天天干,天天操,天天射 | 久久国产精品99久久人人澡 | 欧美日韩一级久久久久久免费看 | 精品一区 在线 | 国产我不卡| 欧美午夜精品久久久久久浪潮 | 玖玖在线视频观看 | 中文字幕一区在线 | 日本黄色a级大片 | 日韩欧美国产精品 | 久久国产经典 | 久久福利剧场 | 欧美天堂久久 | 久久精品久久久久久久 | 97国产一区二区 | 美女国内精品自产拍在线播放 | 麻豆精品在线 | 99视频一区二区 | 欧美精品三级在线观看 | 国产婷婷在线观看 | 欧美亚洲免费在线一区 | 99久热在线精品 | 天天玩天天操天天射 | 久久99热精品这里久久精品 | 国产精品专区在线 | 日日夜夜精品网站 | 久久综合五月婷婷 | 久久视影| 中文字幕精品www乱入免费视频 | 在线a视频免费观看 | 色综合天天综合 | 九九色视频| 操操操人人人 | 久久精品视频观看 | 一级一片免费看 | 久草国产在线观看 | 中文字幕在线播放日韩 | 二区三区毛片 | 日韩偷拍精品 | sm免费xx网站| 91九色成人蝌蚪首页 | 天天激情综合网 | 91亚洲狠狠婷婷综合久久久 | 久草视频看看 | 狠狠干狠狠久久 | 成在人线av | 久久久精品在线观看 | 视频在线观看99 | 开心激情久久 | 8x成人在线| 日韩狠狠操 | 亚洲综合欧美日韩狠狠色 | 欧美日韩一区二区三区视频 | 欧美午夜寂寞影院 | 97精品视频在线 | 国产高清在线a视频大全 | 日韩精品久久久久 | 最新日韩视频在线观看 | 毛片网在线观看 | 丁香六月婷婷开心婷婷网 | 国产在线视频资源 | japanesefreesexvideo高潮 | 久久免费电影网 | av在线直接看 | 日韩精品在线看 | 激情视频在线高清看 | 一色屋精品视频在线观看 | 91丝袜美腿 | 亚洲国产欧美一区二区三区丁香婷 | 一区二区三区免费在线观看 | 婷婷 综合 色 | 国产精品中文字幕在线 | 日韩av一区二区三区四区 | 国产91在线免费视频 | 玖玖在线播放 | 亚洲国产中文字幕在线 | 免费成人黄色片 | 久久国产欧美日韩 | 亚洲精品视频在线免费播放 | 亚洲精品毛片一级91精品 | 色妞色视频一区二区三区四区 | 欧美综合干 | 亚洲视频在线观看 | 久草视频在线新免费 | 精品久久福利 | 成人网中文字幕 | 国产一区二区中文字幕 | 日韩在线观看第一页 | 日韩大片在线观看 | 成片视频在线观看 | 亚洲精品国产综合99久久夜夜嗨 | 九九有精品 | 国产高清精 | 久久9视频| 一 级 黄 色 片免费看的 | 中文字幕在线观看不卡 | 91在线播放视频 | 亚洲va欧美va人人爽 | 日韩欧美一区二区三区在线观看 | 日本xxxxav | 亚洲精品合集 | 国产美女永久免费 | 日韩毛片久久久 | 中文字幕免费一区 | 国产精品一区二区久久精品 | 在线视频婷婷 | 久久国产精品99久久人人澡 | 中文字幕在线视频免费播放 | 91超级碰碰| 成人在线观看你懂的 | 亚洲人在线 | 日韩精品中文字幕在线播放 | 亚洲精品成人在线 | 胖bbbb搡bbbb擦bbbb | 亚洲午夜大片 | 国产精品中文字幕在线播放 | 亚洲经典视频 | 最新真实国产在线视频 | 久久中文字幕导航 | 一区二区激情视频 | 亚洲欧美日韩一级 | 久久人视频 | 久久国产美女视频 | 亚洲视频免费在线观看 | 在线国产91| 91九色最新 | 免费观看久久 | 久久av网址 | 国产成人精品久久亚洲高清不卡 | 四虎在线免费 | 国产精品aⅴ | 亚洲欧洲成人精品av97 | 天天干,天天草 | 韩国av一区二区三区在线观看 | 综合网伊人 | 不卡国产视频 | 天天玩天天干 | 2019av在线视频 | 精品国产99 | 五月天六月婷 | 福利av影院 | 成人免费视频网站在线观看 | 欧美美女视频在线观看 | 中文免费在线观看 | 欧美精品少妇xxxxx喷水 | 日日夜夜人人精品 | 国内精品久久久久久中文字幕 | 操操操操网 | 97超碰资源站 | 99久久精品一区二区成人 | 色99之美女主播在线视频 | 亚洲欧美色婷婷 | 三级av在线免费观看 | 一区二区精品在线 | 91精品国产自产在线观看永久 | 成人性生交大片免费观看网站 | 国产 一区二区三区 在线 | 欧美黑人性爽 | 91精品视频在线看 | 日韩在线视频免费播放 | 九九热免费视频在线观看 | 一区二区男女 | 国产精品理论片在线播放 | 91精品视频导航 | 天天夜夜操 | 午夜精品福利一区二区三区蜜桃 | 国产精品综合久久久久 | 久久久久久久久久久久久久免费看 | 天天综合精品 | 免费在线激情电影 | 99热精品国产一区二区在线观看 | 亚色视频在线观看 | 欧美综合在线视频 | 中文字幕免费高清在线 | 在线免费观看成人 | 国产久草在线观看 | 夜夜爽夜夜操 | 免费黄色av电影 | 一本之道乱码区 | 一区免费观看 | 日韩有码在线观看视频 | 久久男人影院 | 亚洲精品视频免费在线观看 | 亚洲第一区在线观看 | 久久久久久久久久久网站 | 成人国产精品电影 | 日韩在线视频二区 | 五月天婷婷视频 | 久草视频中文在线 | 69国产精品视频 | 日韩精品亚洲专区在线观看 | 五月婷婷深开心 | 欧美福利片在线观看 | 日韩高清片 | 五月天.com | 视频一区二区精品 | 国产最新网站 | 国产精品成人aaaaa网站 | 99热精品久久 | 91人人视频在线观看 | 久久久婷 | 99精品视频在线观看免费 | 亚洲 欧洲 国产 日本 综合 | 一区二区精品视频 | 中文字幕中文字幕中文字幕 | a在线v| 六月丁香激情综合 | 欧美日韩观看 | 亚洲综合视频在线观看 | 免费色视频在线 | 黄www在线观看 | 伊人激情综合 | 日日操夜夜操狠狠操 | 成人va在线观看 | 超碰在线日韩 | www.狠狠色.com| 亚洲国产精品视频在线观看 | 99精品国产兔费观看久久99 | 美女天天操 | 91丨九色丨国产在线观看 | 国产精品久久久久免费观看 | 中文字幕亚洲高清 | 国产福利精品在线观看 | 免费高清在线观看电视网站 | 免费无遮挡动漫网站 | 欧美日韩精品国产 | 天天插天天狠 | 伊人资源视频在线 | 亚洲精品一区二区三区四区高清 | 黄色高清视频在线观看 | 国产黄色片网站 | 18国产精品福利片久久婷 | 丁香五月缴情综合网 | 91av视频在线观看免费 | a在线观看国产 | 97国产视频| 九九九九热精品免费视频点播观看 | 天天色天天干天天 | 69av久久| 精品毛片一区二区免费看 | 国产美女精品人人做人人爽 | 精品亚洲成a人在线观看 | 四虎在线免费视频 | 亚洲视频资源在线 | 久久综合狠狠综合 | 久久99久久99精品免视看婷婷 | 亚洲一级二级三级 | 五月综合激情网 | 免费福利小视频 | 午夜av大片| 美女黄网站视频免费 | 国产精品永久在线 | 成年人免费在线观看 | 午夜精品视频一区 | 超碰在线日韩 | 91精品国产九九九久久久亚洲 | 五月婷婷六月综合 | 日韩欧美一区二区在线播放 | 亚洲视频在线免费看 | 国产原创在线视频 | 五月婷婷香蕉 | av看片在线| 国产一卡在线 | 91女子私密保健养生少妇 | 久久国产福利 | 一区二区三区免费 | 美女福利视频网 | 久久久久久不卡 | 免费在线观看一级片 | 在线精品视频免费播放 | 激情伊人五月天久久综合 | 天天摸天天操天天舔 | 免费十分钟 | 欧美激情精品久久久久久变态 | 国产艹b视频 | 午夜久久久久久久久 | 日韩精品久久一区二区三区 | 免费看黄20分钟 | 日韩av电影中文字幕在线观看 | 在线免费黄色片 | 狠狠88综合久久久久综合网 | 97超碰国产精品女人人人爽 | 欧美精品999| 中文字幕文字幕一区二区 | 欧美性色xo影院 | 久香蕉| 91九色视频网站 | 网址你懂的在线观看 | 天天天天天天干 | 成年人视频免费在线播放 | 亚洲精品视频在线观看免费 | 久久99国产精品自在自在app | 色偷偷网站视频 | 国产成人精品日本亚洲999 | 欧美另类美少妇69xxxx | 亚洲精品在线观看的 | 亚洲成色777777在线观看影院 | 国产小视频免费在线观看 | 亚洲精品视频网 | 国产精品中文在线 | 成人久久免费 | 天天操天天操天天操 | 久久综合给合久久狠狠色 | 欧美午夜理伦三级在线观看 | 91久久精品一区二区二区 | 人人藻人人澡人人爽 | 国产日韩视频在线 | 午夜影院在线观看18 | 国产精品一区二区三区久久久 | 日本资源中文字幕在线 | 国产99久久九九精品免费 | 99国产视频 | 色婷婷国产 | 亚洲影院色 | 国产又粗又猛又黄视频 | 欧美性受极品xxxx喷水 | 91三级在线观看 | 五月天av在线 | 欧美激情视频一区二区三区 | 国产精品1000 | 中文字幕av免费在线观看 | 国产在线观看99 | 欧美与欧洲交xxxx免费观看 | 国内精品久久久 | 亚洲综合在线视频 | 九九热精品视频在线播放 | 成 人 黄 色 免费播放 | 少妇bbbb搡bbbb搡bbbb | 精品中文字幕在线播放 | 亚洲一级在线观看 | av在线免费网 | 日本91在线 | 在线观看一级片 | 欧美激情精品久久 | 国产高清视频 | 天堂视频中文在线 | 九九色综合 | 久久综合精品一区 | 97品白浆高清久久久久久 | 亚洲婷婷丁香 | 中文字幕乱码亚洲精品一区 | 国产一区二区三区在线免费观看 | 精品国产伦一区二区三区观看说明 | 91在线欧美| 日本性xxxxx 亚洲精品午夜久久久 | 天天操天天拍 | 丁香色婷 | av一区二区三区在线 | 亚洲天堂网站视频 | 国产字幕在线看 | 91精品久久香蕉国产线看观看 | 国产黄大片| 91精品天码美女少妇 | 99久久精品一区二区成人 | www.狠狠插.com | 97免费在线观看视频 | 综合久久网 | 国产一区网址 | 中文字幕在线观看视频一区二区三区 | av免费在线网 | 欧美精品久久久久久久亚洲调教 | 久久字幕精品一区 | 在线视频一区观看 | 在线观看中文字幕一区 | 欧美极品xxx | 久久久国产精品亚洲一区 | 亚洲毛片一区二区三区 | 亚洲 欧美 另类人妖 | 黄色的片子 | 欧美日韩国产伦理 | 天堂av免费 | 亚洲丁香日韩 | 日韩av一区在线观看 | 在线观看av网 | 麻豆视频在线免费看 | 国产成人精品日本亚洲999 | 欧美va天堂在线电影 | 国产精品va在线观看入 | 免费看国产曰批40分钟 | 波多野结衣电影一区二区三区 | 国产在线自 | 色综合亚洲精品激情狠狠 | 成人观看视频 | 国产专区精品 | 在线播放视频一区 | 丁香花中文在线免费观看 | 在线播放 一区 | 久久久久夜色 | 免费看黄的| 免费在线观看黄色网 | 免费日韩 精品中文字幕视频在线 | 91豆花在线| 欧美激情视频一区 | 久草视频免费播放 | 日韩在线观看精品 | 久久99久久久久久 | 日韩免费播放 | 天天干天天插 | 亚洲免费av在线播放 | 久久中文欧美 | av 一区二区三区 | 国产极品尤物在线 | 丰满少妇麻豆av | 欧洲亚洲激情 | 五月天综合激情网 | 日本精品二区 | 日韩3区 | 国产成人精品一区二区三区 | 日本天天色| 久久精品免费播放 | 美女福利视频一区二区 | 亚洲国产97在线精品一区 | 97在线观看免费 | 国产精品18久久久久久首页狼 | 天天操天天操天天操天天 | 4p变态网欧美系列 | 成人avav| 在线看黄色的网站 | 2019精品手机国产品在线 | a级黄色片视频 | 最新av网站在线观看 | 日日摸日日添日日躁av | 激情深爱| 91亚洲精品久久久蜜桃借种 | 91九色免费视频 | 免费福利在线观看 | 黄网av在线| 九九99视频| 97超碰超碰久久福利超碰 | 九九视频这里只有精品 | 黄色片免费在线 | 欧美日韩一级久久久久久免费看 | 99精品在线观看视频 | 亚洲精品色婷婷 | 国产视频二| 国产精品国产三级国产 | 最近中文字幕久久 | 久久久久久久久久网 | 黄色软件在线观看免费 | 亚洲经典视频在线观看 | 91中文字幕网 | 久久五月婷婷丁香社区 | 香蕉网站在线观看 | 色婷婷在线播放 | 91视频 - v11av | 亚洲免费av网站 | 欧美精彩视频 | 一区二区三区视频网站 | 日韩在线免费不卡 | 色中射 | 国产精品日韩欧美一区二区 | 91在线视频免费观看 | 在线中文字幕观看 | 手机看片久久 | 天天草天天草 | 91av美女| 国产精品久久99 | 久久久久久久福利 | 国内成人精品视频 | 黄色三级av | 国产另类av | avcom在线| 狠狠狠色丁香婷婷综合久久五月 | 久久这里 | 免费高清无人区完整版 | 日韩欧美一二三 | 国产精品日韩在线播放 | 久久免费美女视频 | 天天插日日射 | 亚洲精品18p | 狠狠色丁香久久婷婷综合丁香 | 日韩资源在线播放 | 三级动态视频在线观看 | 免费 在线 中文 日本 | 久久成人亚洲欧美电影 | 国偷自产中文字幕亚洲手机在线 | 亚洲色五月 | 国产精品网红福利 | 成人教育av| 国产片免费在线观看视频 | 久久在线一区 | 69av久久 | 91看片淫黄大片一级在线观看 | 日韩av成人在线观看 | 久久夜色精品国产欧美乱极品 | av中文资源在线 | a天堂最新版中文在线地址 久久99久久精品国产 | 精品亚洲欧美无人区乱码 | 亚洲精品综合一二三区在线观看 | 亚洲高清在线精品 | 日本久久久久久久久久 | 国产中文字幕在线视频 | 亚洲精品视 | 国产精品k频道 | 国产精品福利在线 | 久久99电影 | 在线小视频你懂的 | 久久久影片 | 97视频资源| 国产精品国产三级国产不产一地 | 久久99久久久久久 | 免费a级毛片在线看 | 成人在线观看免费视频 | 免费特级黄色片 | 国产乱码精品一区二区蜜臀 | 色婷婷综合视频在线观看 | 国产伦理一区二区三区 | 久久视频一区二区 | 香蕉精品视频在线观看 | 欧美国产日韩一区二区 | 久久久国产一区二区三区 | 91桃色免费观看 | 色视频网站在线 | 日韩二区在线播放 | 中文成人字幕 | 91精品国自产在线 | 精品国产诱惑 | 丁香激情婷婷 | 国产视频在线播放 | 狠狠狠狠狠色综合 | 中文字幕在线播放av | 波多野结衣电影一区 | 天天射射天天 | 成人国产精品免费 | 免费看在线看www777 | 小草av在线播放 | 在线看片91 | 嫩模bbw搡bbbb搡bbbb | 国产一区二区三区高清播放 | 国产精品午夜免费福利视频 | 国产女人18毛片水真多18精品 | 91精品啪在线观看国产81旧版 | 色婷婷www | 91在线免费视频 | 夜夜躁狠狠燥 | 天天操夜夜想 | 西西444www高清大胆 | 国产二级视频 | 亚洲精品免费观看 | 亚洲精品玖玖玖av在线看 | 亚洲天堂毛片 | 91免费的视频在线播放 | 国产尤物视频在线 | 国产日韩欧美在线一区 | 久久tv| 国产午夜三级一区二区三桃花影视 | 久久综合九色综合97_ 久久久 | 青春草免费在线视频 | 久久久久久久久久久网 | 97色狠狠| 激情综合网五月 | 99久久精品国产免费看不卡 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 国产一区二区在线免费视频 | 久久国产系列 | 欧美性春潮 | 亚洲成a人片77777潘金莲 | 日韩欧美在线第一页 | 综合网五月天 | 私人av| 成人在线视频一区 | 99色视频 | 91自拍成人 | 免费成人黄色 | 欧美一级高清片 | 91精品免费在线观看 | 国产一级视频免费看 | 91精品毛片 | 亚洲妇女av | 亚洲欧美婷婷六月色综合 | 国产热re99久久6国产精品 | 中国黄色一级大片 | 99色在线观看 | 国产一二三区在线观看 | 国产成人三级在线播放 | 欧美激情精品一区 | 最近中文字幕免费大全 | 91精品欧美 | 在线日韩中文 | 免费看国产a| 91精品视频一区 | 天天操网址 | 91在线看网站 | 在线免费av观看 | 国产字幕在线观看 | 人人爽人人爽人人 | 在线免费91| 欧美日韩国产成人 | 婷婷中文字幕在线观看 | 久久中文精品视频 | 亚洲va欧洲va国产va不卡 | 六月丁香激情网 | 成人av免费在线看 | 黄色精品久久 | 一区二区三区四区五区在线 | 四虎国产精品永久在线国在线 | 9992tv成人免费看片 | 国产高清永久免费 | 国产九九在线 | 美女福利视频 | 国产品久精国精产拍 | 国产精品成人久久 | 天天摸天天舔 | 人人澡人| 91中文视频 | 日韩中文久久 | 97狠狠操 | 国产一区成人在线 | 97色在线视频 | 国产精品专区h在线观看 | 久久精品视频免费观看 | 中文字幕在线网址 | 色婷婷狠狠18 | 色综合久久久久综合 | 91天堂素人约啪 | 中文字幕国内精品 | 好看的国产精品视频 | 91在线视频免费观看 | 色av男人的天堂免费在线 | 97超碰在线久草超碰在线观看 | 亚洲成aⅴ人片久久青草影院 | 成人免费视频网站 | 天天射网 | 天天摸天天操天天爽 | 一级做a视频 | 久久精品视频网址 | 久久综合给合久久狠狠色 | 亚洲欧美视频在线观看 | 国产免费国产 | 国产一二三精品 | 91日韩在线播放 | 国产精品毛片一区视频播 | 成人资源在线观看 | 日韩欧美在线综合网 | 射久久| 欧美日韩亚洲第一 | 国产精品视频地址 | 亚洲国产资源 | 日韩色一区二区三区 | 永久免费av在线播放 | 久久久久成人精品免费播放动漫 | 激情六月婷婷久久 | 国产91在线观看 | 日本黄色一级电影 | 97色婷婷人人爽人人 | 国产剧情一区二区在线观看 | 美女视频黄频大全免费 | 97超碰免费在线 | 国产精品久久伊人 | 国产99视频在线观看 | 亚洲精品在线免费观看视频 | 在线观看91精品国产网站 | 久久免费观看少妇a级毛片 久久久久成人免费 | 亚洲国产成人久久 | 中文字幕av最新更新 | 国产精品久久久久久妇 | 九九热精品国产 | 精品国产乱码久久 | 日本不卡一区二区 | 在线观看成人小视频 | 操操操av | 久久综合一本 | av看片网址 | 99久久精品国产一区 | 久久色视频 | 日韩精品在线观看av | 日本视频高清 | 欧美亚洲另类在线视频 | 中文字幕资源网 | 日韩欧美一区二区在线 | 在线性视频日韩欧美 | 亚洲aⅴ一区二区三区 | 亚洲国产成人久久综合 | 久久久久中文字幕 |