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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

深入源码理解.NET Core中Startup的注册及运行

發(fā)布時間:2023/12/4 asp.net 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入源码理解.NET Core中Startup的注册及运行 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

開發(fā).NET Core應(yīng)用,直接映入眼簾的就是Startup類和Program類,它們是.NET Core應(yīng)用程序的起點。通過使用Startup,可以配置化處理所有向應(yīng)用程序所做的請求的管道,同時也可以減少.NET應(yīng)用程序?qū)我环?wù)器的依賴性,使我們在更大程度上專注于面向多服務(wù)器為中心的開發(fā)模式。

目錄:

  • Startup討論

    • Starup所承擔(dān)的角色

    • Startup編寫規(guī)范

    • ConfigureServices

    • Configure

    • 擴展Startup方法

  • 深入源碼查看Startup是如何注冊和執(zhí)行的

    • UseStartup源碼

    • 創(chuàng)建Startup實例

    • ConfigureServices和Configure

Starup所承擔(dān)的角色

Startup類是ASP.NET Core程序中所必須的,可以使用多種修飾符(public、protect,private、internal),作為ASP.NET Core應(yīng)用程序的入口,它包含與應(yīng)用程序相關(guān)配置的功能或者說是接口。

雖然在程序里我們使用的類名就是Startup,但是需要注意的是,Startup是一個抽象概念,你完全可以名稱成其他的,比如MyAppStartup或者其他的什么名稱,只要你在Program類中啟動你所定義的啟動類即可。

以下是基于ASP.NET Core Preview 3模板中提供的寫法:

1: public class Program 2: { 3: public static void Main(string[] args) 4: { 5: CreateHostBuilder(args).Build().Run(); 6: } 7: ? 8: public static IHostBuilder CreateHostBuilder(string[] args) => 9: Host.CreateDefaultBuilder(args) 10: .ConfigureWebHostDefaults(webBuilder => 11: { 12: webBuilder.UseStartup<Startup>(); 13: }); 14: }

不管你命名成什么,只要將webBuilder.UseStartup<>()中的泛型類配置成你定義的入口類即可;

Startup編寫規(guī)范

下面是ASP.NET Core 3.0 Preview 3模板中Startup的寫法:

1: // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. 2: public void Configure(IApplicationBuilder app, IWebHostEnvironment env) 3: { 4: if (env.IsDevelopment()) 5: { 6: app.UseDeveloperExceptionPage(); 7: } 8: else 9: { 10: // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. 11: app.UseHsts(); 12: } 13: ? 14: app.UseHttpsRedirection(); 15: ? 16: app.UseRouting(routes => 17: { 18: routes.MapControllers(); 19: }); 20: ? 21: app.UseAuthorization(); 22: }

通過以上代碼可以知道,Startup類中一般包括

  • 構(gòu)造函數(shù):通過我們以前的開發(fā)經(jīng)驗,我們可以知道,該構(gòu)造方法可以包括多個對象

    • IConfiguration:表示一組鍵/值應(yīng)用程序配置屬性。

    • IApplicationBuilder:是一個包含與當(dāng)前環(huán)境相關(guān)的屬性和方法的接口。它用于獲取應(yīng)用程序中的環(huán)境變量。

    • IHostingEnvironment:是一個包含與運行應(yīng)用程序的Web宿主環(huán)境相關(guān)信息的接口。使用這個接口方法,我們可以改變應(yīng)用程序的行為。

    • ILoggerFactory:是為ASP.NET Core中的日志記錄系統(tǒng)提供配置的接口。它還創(chuàng)建日志系統(tǒng)的實例。

  • ConfigureServices

  • Configure

Startup在創(chuàng)建服務(wù)時,會執(zhí)行依賴項注冊服務(wù),以便在應(yīng)用程序的其它地方使用這些依賴項。ConfigureServices 用于注冊服務(wù),Configure 方法允許我們向HTTP管道添加中間件和服務(wù)。這就是ConfigureServices先于Configure 之前調(diào)用的原因。

ConfigureServices

該方法時可選的,非強制約束,它主要用于對依賴注入或ApplicationServices在整個應(yīng)用中的支持,該方法必須是public的,其典型模式是調(diào)用所有?Add{Service} 方法,主要場景包括實體框架、認(rèn)證和 MVC 注冊服務(wù):

1: services.AddDbContext<ApplicationDbContext>(options =>options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); 2: services.AddDefaultIdentity<IdentityUser>().AddDefaultUI(UIFramework.Bootstrap4).AddEntityFrameworkStores<ApplicationDbContext>(); 3: services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); 4: // Add application services.此處主要是注冊IOC服務(wù) 5: services.AddTransient<IEmailSender, AuthMessageSender>(); 6: services.AddTransient<ISmsSender, AuthMessageSender>();

Configure

該方法主要用于定義應(yīng)用程序?qū)γ總€HTTP請求的響應(yīng)方式,即我們可以控制ASP.NET管道,還可用于在HTTP管道中配置中間件。請求管道中的每個中間件組件負(fù)責(zé)調(diào)用管道中的下一個組件,或在適當(dāng)情況下使鏈發(fā)生短路。 如果中間件鏈中未發(fā)生短路,則每個中間件都有第二次機會在將請求發(fā)送到客戶端前處理該請求。

該方法接受IApplicationBuilder作為參數(shù),同時還可以接收其他一些可選參數(shù),如IHostingEnvironment和ILoggerFactory。

一般而言,只要將服務(wù)注冊到configureServices方法中時,都可以在該方法中使用。

1: app.UseDeveloperExceptionPage(); 2: app.UseHsts(); 3: app.UseHttpsRedirection(); 4: app.UseRouting(routes => 5: { 6: routes.MapControllers(); 7: }); 8: app.UseAuthorization();

擴展Startup方法

使用IStartupFilter來對Startup功能進行擴展,在應(yīng)用的Configure中間件管道的開頭或末尾使用IStartupFilter來配置中間件。IStartupFilter有助于確保當(dāng)庫在應(yīng)用請求處理管道的開端或末尾添加中間件的前后運行中間件。

以下是IStartupFilter的源代碼,通過源代碼我們可以知道,該接口有一個Action<IApplicationBuilder>類型,并命名為Configure的方法。由于傳入?yún)?shù)類型和返回類型一樣,這就保證了擴展的傳遞性及順序性,具體的演示代碼,可以參數(shù)MSDN

1: using System; 2: using Microsoft.AspNetCore.Builder; 3: 4: namespace Microsoft.AspNetCore.Hosting 5: { 6: public interface IStartupFilter 7: { 8: Action<IApplicationBuilder> Configure(Action<IApplicationBuilder> next); 9: } 10: }

此段文字,只是我想深入了解其內(nèi)部機制而寫的,如果本身也不了解,其實是不影響我們正常編寫.NET Core應(yīng)用的。

UseStartup源碼

ASP.NET Core通過調(diào)用IWebHostBuilder.UseStartup方法,傳入Startup類型,注意開篇就已經(jīng)說過Startup是一個抽象概念,我們看下源代碼:

1: /// <summary> 2: /// Specify the startup type to be used by the web host. 3: /// </summary> 4: /// <param name="hostBuilder">The <see cref="IWebHostBuilder"/> to configure.</param> 5: /// <param name="startupType">The <see cref="Type"/> to be used.</param> 6: /// <returns>The <see cref="IWebHostBuilder"/>.</returns> 7: public static IWebHostBuilder UseStartup(this IWebHostBuilder hostBuilder, Type startupType) 8: { 9: var startupAssemblyName = startupType.GetTypeInfo().Assembly.GetName().Name; 10: 11: hostBuilder.UseSetting(WebHostDefaults.ApplicationKey, startupAssemblyName); 12: 13: // Light up the GenericWebHostBuilder implementation 14: if (hostBuilder is ISupportsStartup supportsStartup) 15: { 16: return supportsStartup.UseStartup(startupType); 17: } 18: 19: return hostBuilder 20: .ConfigureServices(services => 21: { 22: if (typeof(IStartup).GetTypeInfo().IsAssignableFrom(startupType.GetTypeInfo())) 23: { 24: services.AddSingleton(typeof(IStartup), startupType); 25: } 26: else 27: { 28: services.AddSingleton(typeof(IStartup), sp => 29: { 30: var hostingEnvironment = sp.GetRequiredService<IHostEnvironment>(); 31: return new ConventionBasedStartup(StartupLoader.LoadMethods(sp, startupType, hostingEnvironment.EnvironmentName)); 32: }); 33: } 34: }); 35: } 36: 37: /// <summary> 38: /// Specify the startup type to be used by the web host. 39: /// </summary> 40: /// <param name="hostBuilder">The <see cref="IWebHostBuilder"/> to configure.</param> 41: /// <typeparam name ="TStartup">The type containing the startup methods for the application.</typeparam> 42: /// <returns>The <see cref="IWebHostBuilder"/>.</returns> 43: public static IWebHostBuilder UseStartup<TStartup>(this IWebHostBuilder hostBuilder) where TStartup :class 44: { 45: return hostBuilder.UseStartup(typeof(TStartup)); 46: }

創(chuàng)建Startup實例

1: /// <summary> 2: /// Adds a delegate for configuring additional services for the host or web application. This may be called 3: /// multiple times. 4: /// </summary> 5: /// <param name="configureServices">A delegate for configuring the <see cref="IServiceCollection"/>.</param> 6: /// <returns>The <see cref="IWebHostBuilder"/>.</returns> 7: public IWebHostBuilder ConfigureServices(Action<IServiceCollection> configureServices) 8: { 9: if (configureServices == null) 10: { 11: throw new ArgumentNullException(nameof(configureServices)); 12: } 13: ? 14: return ConfigureServices((_, services) => configureServices(services)); 15: } 16: ? 17: /// <summary> 18: /// Adds a delegate for configuring additional services for the host or web application. This may be called 19: /// multiple times. 20: /// </summary> 21: /// <param name="configureServices">A delegate for configuring the <see cref="IServiceCollection"/>.</param> 22: /// <returns>The <see cref="IWebHostBuilder"/>.</returns> 23: public IWebHostBuilder ConfigureServices(Action<WebHostBuilderContext, IServiceCollection> configureServices) 24: { 25: _configureServices += configureServices; 26: return this; 27: }

關(guān)于ConfigureServices的定義及注冊方式,是在IWebHostBuilder.ConfigureServices實現(xiàn)的,同時可以注意一下25行代碼,向大家說明了多次注冊Startup的ConfigureServices方法時,會合并起來的根源。此處抽象委托用的也非常多。

該類里面還有Build方法,我就不貼出代碼了,只需要知道,主進程在此處開始了。接下來一個比較重要的方法,是BuildCommonServices,它向當(dāng)前ServiceCollection中添加一些公共框架級服務(wù),以下是部分代碼,具體代碼請查看WebHostBuilder

1: try 2: { 3: var startupType = StartupLoader.FindStartupType(_options.StartupAssembly, _hostingEnvironment.EnvironmentName); 4: ? 5: if (typeof(IStartup).GetTypeInfo().IsAssignableFrom(startupType.GetTypeInfo())) 6: { 7: services.AddSingleton(typeof(IStartup), startupType); 8: } 9: else 10: { 11: services.AddSingleton(typeof(IStartup), sp => 12: { 13: var hostingEnvironment = sp.GetRequiredService<IHostEnvironment>(); 14: var methods = StartupLoader.LoadMethods(sp, startupType, hostingEnvironment.EnvironmentName); 15: return new ConventionBasedStartup(methods); 16: }); 17: } 18: } 19: catch (Exception ex) 20: { 21: var capture = ExceptionDispatchInfo.Capture(ex); 22: services.AddSingleton<IStartup>(_ => 23: { 24: capture.Throw(); 25: return null; 26: }); 27: }由此可見,如果我們的Startup類直接實現(xiàn)IStartup,它可以并且將直接注冊為IStartup的實現(xiàn)類型。只不過ASP.NET Core模板代碼并沒有實現(xiàn)IStartup,它更多的是一種約定,并通過DI調(diào)用委托,依此調(diào)用Startup內(nèi)的構(gòu)造函數(shù)還有另外兩個方法。同時上述代碼還展示了如何創(chuàng)建Startup類型,就是用到了靜態(tài)方法StartupLoader.LoadMethods類生成StartupMethods實例。

ConfigureServicesConfigure

當(dāng)WebHost初始化時,框架會去查找相應(yīng)的方法,這里,我們主要查看源代碼,其中的核心方法是StartupLoader.FindMethods 1: private static MethodInfo FindMethod(Type startupType, string methodName, string environmentName, Type returnType = null, bool required = true) 2: { 3: var methodNameWithEnv = string.Format(CultureInfo.InvariantCulture, methodName, environmentName); 4: var methodNameWithNoEnv = string.Format(CultureInfo.InvariantCulture, methodName, ""); 5: ? 6: var methods = startupType.GetMethods(BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static); 7: var selectedMethods = methods.Where(method => method.Name.Equals(methodNameWithEnv, StringComparison.OrdinalIgnoreCase)).ToList(); 8: if (selectedMethods.Count > 1) 9: { 10: throw new InvalidOperationException(string.Format("Having multiple overloads of method '{0}' is not supported.", methodNameWithEnv)); 11: } 12: if (selectedMethods.Count == 0) 13: { 14: selectedMethods = methods.Where(method => method.Name.Equals(methodNameWithNoEnv, StringComparison.OrdinalIgnoreCase)).ToList(); 15: if (selectedMethods.Count > 1) 16: { 17: throw new InvalidOperationException(string.Format("Having multiple overloads of method '{0}' is not supported.", methodNameWithNoEnv)); 18: } 19: } 20: ? 21: var methodInfo = selectedMethods.FirstOrDefault(); 22: if (methodInfo == null) 23: { 24: if (required) 25: { 26: throw new InvalidOperationException(string.Format("A public method named '{0}' or '{1}' could not be found in the '{2}' type.", 27: methodNameWithEnv, 28: methodNameWithNoEnv, 29: startupType.FullName)); 30: ? 31: } 32: return null; 33: } 34: if (returnType != null && methodInfo.ReturnType != returnType) 35: { 36: if (required) 37: { 38: throw new InvalidOperationException(string.Format("The '{0}' method in the type '{1}' must have a return type of '{2}'.", 39: methodInfo.Name, 40: startupType.FullName, 41: returnType.Name)); 42: } 43: return null; 44: } 45: return methodInfo; 46: }它查找的第一個委托是ConfigureDelegate,該委托將用于構(gòu)建應(yīng)用程序的中間件管道。FindMethod完成了大部分工作,具體的代碼請查看StartupLoader此方法根據(jù)傳遞給它的methodName參數(shù)在Startup類中查找響應(yīng)的方法。我們知道,Startup的定義更多的是約定,所以會去查找Configure和ConfigureServices。當(dāng)然,通過源代碼我還知道,除了提供標(biāo)準(zhǔn)的“Configure”方法之外,我們還可以通過環(huán)境配置找到響應(yīng)的Configure和ConfigureServices。根本來說,我們最終查找到的是ConfigureContainerDelegate。接下來,一個比較重要的方法是LoadMethods 1: public static StartupMethods LoadMethods(IServiceProvider hostingServiceProvider, Type startupType, string environmentName) 2: { 3: var configureMethod = FindConfigureDelegate(startupType, environmentName); 4: ? 5: var servicesMethod = FindConfigureServicesDelegate(startupType, environmentName); 6: var configureContainerMethod = FindConfigureContainerDelegate(startupType, environmentName); 7: ? 8: object instance = null; 9: if (!configureMethod.MethodInfo.IsStatic || (servicesMethod != null && !servicesMethod.MethodInfo.IsStatic)) 10: { 11: instance = ActivatorUtilities.GetServiceOrCreateInstance(hostingServiceProvider, startupType); 12: } 13: ? 14: // The type of the TContainerBuilder. If there is no ConfigureContainer method we can just use object as it's not 15: // going to be used for anything. 16: var type = configureContainerMethod.MethodInfo != null ? configureContainerMethod.GetContainerType() : typeof(object); 17: ? 18: var builder = (ConfigureServicesDelegateBuilder) Activator.CreateInstance( 19: typeof(ConfigureServicesDelegateBuilder<>).MakeGenericType(type), 20: hostingServiceProvider, 21: servicesMethod, 22: configureContainerMethod, 23: instance); 24: ? 25: return new StartupMethods(instance, configureMethod.Build(instance), builder.Build()); 26: }該方法通過查找對應(yīng)的方法,由于Startup并未在DI中注冊,所以會調(diào)用GetServiceOrCreateInstance創(chuàng)建一個Startup實例,此時構(gòu)造函數(shù)也在此得到解析。通過一系列的調(diào)用,最終到達了ConfigureServicesBuilder.Invoke里面。Invoke方法使用反射來獲取和檢查在Startup類上定義的ConfigureServices方法所需的參數(shù)。 1: private IServiceProvider InvokeCore(object instance, IServiceCollection services) 2: { 3: if (MethodInfo == null) 4: { 5: return null; 6: } 7: ? 8: // Only support IServiceCollection parameters 9: var parameters = MethodInfo.GetParameters(); 10: if (parameters.Length > 1 || 11: parameters.Any(p => p.ParameterType != typeof(IServiceCollection))) 12: { 13: throw new InvalidOperationException("The ConfigureServices method must either be parameterless or take only one parameter of type IServiceCollection."); 14: } 15: ? 16: var arguments = new object[MethodInfo.GetParameters().Length]; 17: ? 18: if (parameters.Length > 0) 19: { 20: arguments[0] = services; 21: } 22: ? 23: return MethodInfo.Invoke(instance, arguments) as IServiceProvider; 24: }

最后我們來看一下ConfigureBuilder類,它需要一個Action<IApplicationBuilder>委托變量,其中包含每個IStartupFilter的一組包裝的Configure方法,最后一個是Startup.Configure方法的委托。此時,所調(diào)用的配置鏈?zhǔn)紫让械氖茿utoRequestServicesStartupFilter.Configure方法。并將該委托鏈作為下一個操作,之后會調(diào)用ConventionBasedStartup.Configure方法。這將在其本地StartupMethods對象上調(diào)用ConfigureDelegate。

1: private void Invoke(object instance, IApplicationBuilder builder) 2: { 3: // Create a scope for Configure, this allows creating scoped dependencies 4: // without the hassle of manually creating a scope. 5: using (var scope = builder.ApplicationServices.CreateScope()) 6: { 7: var serviceProvider = scope.ServiceProvider; 8: var parameterInfos = MethodInfo.GetParameters(); 9: var parameters = new object[parameterInfos.Length]; 10: for (var index = 0; index < parameterInfos.Length; index++) 11: { 12: var parameterInfo = parameterInfos[index]; 13: if (parameterInfo.ParameterType == typeof(IApplicationBuilder)) 14: { 15: parameters[index] = builder; 16: } 17: else 18: { 19: try 20: { 21: parameters[index] = serviceProvider.GetRequiredService(parameterInfo.ParameterType); 22: } 23: catch (Exception ex) 24: { 25: throw new Exception(string.Format( 26: "Could not resolve a service of type '{0}' for the parameter '{1}' of method '{2}' on type '{3}'.", 27: parameterInfo.ParameterType.FullName, 28: parameterInfo.Name, 29: MethodInfo.Name, 30: MethodInfo.DeclaringType.FullName), ex); 31: } 32: } 33: } 34: MethodInfo.Invoke(instance, parameters); 35: } 36: }

Startup.Configure方法會調(diào)用ServiceProvider所解析的相應(yīng)的參數(shù),該方法還可以使用IApplicationBuilder將中間件添加到應(yīng)用程序管道中。最終的RequestDelegate是從IApplicationBuilder構(gòu)建并返回的,至此WebHost初始化完成。

原文地址:https://www.cnblogs.com/edison0621/p/10743228.html

.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?

總結(jié)

以上是生活随笔為你收集整理的深入源码理解.NET Core中Startup的注册及运行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

久久久国产高清 | 91视视频在线直接观看在线看网页在线看 | 久久99久久99免费视频 | 五月婷婷导航 | 在线免费试看 | 夜添久久精品亚洲国产精品 | 国产午夜精品福利视频 | 黄色综合 | 免费观看xxxx9999片 | 在线观看视频日韩 | 一区 在线观看 | 天天爱天天草 | 精品视频999 | 中文字幕资源网 | 91麻豆精品一区二区三区 | 亚洲国产精品电影在线观看 | 亚洲欧洲久久久 | 欧美激情片在线观看 | 在线免费视频你懂的 | 五月婷婷激情六月 | 国产 在线 高清 精品 | 四虎影视成人精品 | 精品亚洲免费视频 | 在线观看av片 | 日韩在线观看高清 | 日韩精品一区二区在线观看 | 婷婷激情综合网 | 亚洲无吗天堂 | 国产精品久久久网站 | 日韩视频中文字幕在线观看 | 成年人免费在线 | 色偷偷网站视频 | 尤物97国产精品久久精品国产 | 久久超碰网 | 国产一区 在线播放 | 波多野结衣在线中文字幕 | 91av在线视频免费观看 | 国产韩国精品一区二区三区 | 狠狠躁日日躁狂躁夜夜躁 | av大全在线看 | avav99| 在线观看电影av | 久久成年视频 | 99久热在线精品视频 | 日本中文字幕久久 | 亚洲乱亚洲乱亚洲 | 狠狠久久| 91精品国产综合久久福利 | 国产三级久久久 | 超碰人人干人人 | 国产一区二区三区久久久 | 欧美另类z0zx | 日韩三级免费观看 | 亚洲高清不卡av | 7777xxxx| 在线观看国产日韩 | 国产97碰免费视频 | 久久久久成 | 国产精品自产拍在线观看桃花 | 中文字幕在线一区二区三区 | 久一在线| 一区二区在线影院 | 亚洲激情在线播放 | 日批网站免费观看 | www.狠狠操 | 精品久久久久国产免费第一页 | 日韩激情小视频 | 免费观看日韩 | 99精品久久久久久久久久综合 | 午夜久久 | 国产电影一区二区三区四区 | www免费网站在线观看 | 日韩 在线| 国产69精品久久app免费版 | 久影院 | 成人中文字幕在线 | 午夜视频在线观看一区二区 | 99免费在线视频 | 综合精品久久久 | 亚洲干 | 国产高清在线视频 | 国产成人久久77777精品 | 亚洲欧美日韩精品久久久 | 一区二区三区中文字幕在线观看 | 日本精品在线 | 欧美激情精品久久久久久 | 欧美日韩亚洲第一 | 国产黄色大片免费看 | 日韩av中文字幕在线 | 欧美另类重口 | 久久理论电影网 | 国产视频一二三 | 日韩欧美电影在线 | 欧美日韩中字 | 国产护士hd高朝护士1 | 久草网在线视频 | 午夜久久网站 | 国产在线不卡精品 | 日本中文字幕在线观看 | aaa毛片视频 | 韩国av电影网| 综合色伊人 | 欧美福利在线播放 | 免费在线观看视频一区 | 日韩欧美在线视频一区二区 | 国产小视频在线免费观看 | 精品国产乱码久久久久 | 91九色丨porny丨丰满6 | 欧美男男激情videos | 婷婷丁香激情五月 | 国产91免费在线观看 | 色五月激情五月 | 久久日韩精品 | 日本精品久久久久中文字幕 | 久久视频在线观看中文字幕 | 久久久久97国产 | 久久婷婷色 | 精品国产自在精品国产精野外直播 | 国产91九色视频 | 国产精品成人自产拍在线观看 | 久久人操| 日韩一级黄色片 | 夜又临在线观看 | 激情网站| 成年人免费在线观看 | 波多野结衣电影一区 | 黄色在线观看免费 | 日日爽| 天天插天天操天天干 | 97精品国产一二三产区 | 久99久在线视频 | 开心激情五月网 | 激情开心站 | 日韩欧美在线视频一区二区 | 日韩日韩日韩日韩 | 99在线精品观看 | 国产香蕉视频在线播放 | 精品久久久久久久 | 天天曰天天曰 | 性色视频在线 | 亚洲电影成人 | av丝袜美腿 | 日韩 国产| 69精品视频在线观看 | 视频在线观看日韩 | 国产精品成人一区二区 | 99热高清 | 婷婷精品视频 | 久久69精品 | 国产乱老熟视频网88av | 欧美性极品xxxx做受 | 少妇做爰k8经典 | 最近中文字幕免费av | 久草精品网| 97成人在线 | 国产又粗又猛又爽又黄的视频先 | 日本精品久久久久久 | wwwww.国产| 综合色婷婷 | 日韩黄色中文字幕 | 中文字幕av在线 | 成年人黄色免费看 | 超碰人人舔 | 天天射天天操天天干 | 欧美午夜精品久久久久 | 18+视频网站链接 | 日本高清dvd | 日韩精品在线看 | 国内精品久久久久久 | 中文字幕在线观看日本 | 97精品视频在线 | 18av在线视频| 久久美女视频 | 国产精品欧美久久久久久 | 97色国产| 天堂av在线免费观看 | 精品久久久久久久久久岛国gif | 国产福利网站 | 日韩av一区二区三区在线观看 | 99热精品视 | 国产精品麻豆一区二区三区 | 日韩在线观看你懂得 | 亚洲男人天堂a | 国产精品a久久 | 亚洲午夜久久久影院 | 亚洲乱亚洲乱亚洲 | 九九激情视频 | 天天操操操操操操 | 六月丁香在线观看 | 91免费高清观看 | 99视频在线精品免费观看2 | 97在线资源 | 国产在线观看高清视频 | 免费一级特黄毛大片 | 国产精品女同一区二区三区久久夜 | 在线观看亚洲国产精品 | 黄色一二级片 | 国产在线黄 | 精品久久久久免费极品大片 | 久久国产精品久久国产精品 | 久热久草在线 | 国产精品免费成人 | 久久免费看毛片 | 久久国产精品99久久久久久老狼 | 国产精品理论在线观看 | 欧美一级黄色视屏 | 成年人免费观看在线视频 | 黄色一级免费网站 | 亚州成人av在线 | 欧美日韩中文字幕在线视频 | 久久久久久久久久国产精品 | 亚洲精品黄网站 | 久久人人97超碰国产公开结果 | 黄a网站| 视频在线观看国产 | 亚洲国产日韩一区 | 天天色天天操天天爽 | 狠狠狠狠狠狠狠狠干 | 成人在线观看资源 | 91精品久久久久久久99蜜桃 | 黄色小说免费在线观看 | 99色资源 | 96久久欧美麻豆网站 | 一区二区三区四区五区六区 | 色av色av色av| 99久久精品无码一区二区毛片 | 久久久电影网站 | 午夜精品久久久久久久99婷婷 | 中文字幕在线观看日本 | 久久久久久久久久福利 | 91麻豆精品国产 | 亚洲男人天堂2018 | 国产日产精品一区二区三区四区的观看方式 | www.天天综合| 国产成人精品av在线 | 婷婷精品国产一区二区三区日韩 | 经典三级一区 | 欧美成人a在线 | 在线观看www视频 | 在线免费观看视频a | 中日韩免费视频 | 欧美极度另类 | 综合网成人 | 五月婷婷,六月丁香 | 亚洲精品电影在线 | 91传媒91久久久 | 在线日韩中文字幕 | 超碰av在线免费观看 | 久久精品视频在线免费观看 | 久久不卡日韩美女 | 日韩最新在线 | 亚洲精品字幕 | 日韩一区二区三 | 在线观看国产区 | 亚洲年轻女教师毛茸茸 | 天天干人人干 | 亚洲视频每日更新 | 天天插天天干天天操 | 又爽又黄又无遮挡网站动态图 | 精品一区精品二区高清 | 麻花豆传媒mv在线观看 | 在线国产高清 | 国产精品欧美在线 | av综合在线观看 | 日本不卡一区二区三区在线观看 | 日本高清免费中文字幕 | 久久综合色8888 | 激情五月开心 | 丁香婷婷色| 中文字幕视频免费观看 | 亚洲2019精品 | 最新av网址大全 | 在线观看国产区 | 永久免费的啪啪网站免费观看浪潮 | 久草在线免费看视频 | 免费在线观看av网址 | 国产999视频在线观看 | 国产亚洲成av人片在线观看桃 | 国产精品 国产精品 | 开心婷婷色 | 国产伦精品一区二区三区照片91 | 国产精彩在线视频 | 中文字幕黄色av | 久久久美女 | 伊人影院在线观看 | 久久人人爽人人人人片 | 国产日韩在线观看一区 | 亚洲va韩国va欧美va精四季 | 日韩在线中文字幕 | 国产精品99久久久久久小说 | 久久99精品国产99久久 | 欧美疯狂性受xxxxx另类 | 久久狠狠一本精品综合网 | 天天操·夜夜操 | 91色影院 | 国产日韩欧美视频在线观看 | 欧美a级一区二区 | 亚洲成人软件 | 欧美视频18 | 久久国产精品99国产 | 鲁一鲁影院 | 精品国产视频在线观看 | 福利视频区 | 亚洲欧洲中文日韩久久av乱码 | 欧美精品视 | 日韩精品在线观看av | 在线中文字幕网站 | 九九热在线观看视频 | 在线观看亚洲电影 | 97香蕉超级碰碰久久免费软件 | 午夜少妇一区二区三区 | 2021久久| 国产黄色精品在线观看 | 在线综合 亚洲 欧美在线视频 | 叶爱av在线| 日韩电影在线观看一区二区 | 天天操人人要 | 91在线视频播放 | 久久丁香网| 黄色大片日本 | 18国产精品白浆在线观看免费 | 碰天天操天天 | 97人人模人人爽人人喊网 | 国产婷婷久久 | 91在线看黄| 精精国产xxxx视频在线播放 | 麻豆视频免费网站 | 亚洲 中文 欧美 日韩vr 在线 | 人人爽夜夜爽 | 99日韩精品 | 国产精品一区二区久久久久 | 韩国av一区二区 | 亚洲欧美日韩国产精品一区午夜 | 久久久亚洲麻豆日韩精品一区三区 | 成人精品视频 | 欧美一级视频在线观看 | 午夜国产福利在线 | 婷婷综合电影 | 欧美高清成人 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 久久av在线 | 久久久久麻豆 | 国产一区电影在线观看 | 久久99久久精品 | 麻豆高清免费国产一区 | 99色亚洲 | 亚洲精品一区二区久 | 99这里有精品 | 精精国产xxxx视频在线播放 | 正在播放国产一区二区 | 国产一区二区日本 | 国产日韩在线观看一区 | 亚洲国产大片 | 亚洲艳情| 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 精品福利视频在线 | 天天爱天天爽 | 久久av不卡 | 久久精品在线免费观看 | 黄av在线| 日韩电影在线看 | 久草视频网 | 中文字幕一区二区三区久久蜜桃 | 国产成人精品一区二 | 久久视频精品在线 | 欧美在线观看视频一区二区三区 | 综合五月婷婷 | 日韩精品在线视频 | 中文字字幕在线 | 久久精品综合一区 | 右手影院亚洲欧美 | 国产在线中文 | 国产一区黄色 | 六月丁香在线观看 | 在线色亚洲 | 超碰97网站 | 久久人人97超碰国产公开结果 | 精品一区二区在线观看 | 日韩中字在线 | 一区二区视频电影在线观看 | 免费观看第二部31集 | 婷婷六月天天 | 欧美日韩国产一区二区三区 | 色综合色综合色综合 | 国产精品2018 | 一级特黄aaa大片在线观看 | 亚洲视频1区2区 | 亚洲精品tv久久久久久久久久 | 韩国av三级 | 午夜精品福利一区二区三区蜜桃 | 成人精品一区二区三区中文字幕 | 在线中文字幕播放 | 亚洲黄色在线免费观看 | 国产精品人成电影在线观看 | 国内精品久久久久久久久久久 | a天堂最新版中文在线地址 久久99久久精品国产 | 亚洲女欲精品久久久久久久18 | 天天做天天爱天天综合网 | 91人人爽人人爽人人精88v | 天天操天天透 | 久久精品视频3 | 国产精品videossex国产高清 | 麻花豆传媒mv在线观看网站 | 国产一区免费观看 | 久久久久99精品国产片 | 欧美俄罗斯性视频 | 黄色一级动作片 | 久久人人爽人人爽人人片av免费 | 国产一级黄色片免费看 | 在线国产黄色 | 国产日韩欧美视频在线观看 | 91精品视频在线 | 99re8这里有精品热视频免费 | 久久蜜臀av | 五月天最新网址 | 九九激情视频 | 日韩欧美一级二级 | 97超碰在线资源 | 免费国产视频 | 亚洲欧美成人 | av短片在线观看 | 天天玩天天干天天操 | 精品国产乱码久久久久久三级人 | 国产在线观看h | 国模视频一区二区 | www日日 | 在线观看免费国产小视频 | 热久精品| 欧美一级性生活 | 少妇bbbb搡bbbb搡bbbb | 日韩在线精品一区 | 国产小视频91| 国产精品成人免费精品自在线观看 | 日韩性片 | 久久久久久久久久久影院 | 亚洲综合视频网 | 久久99精品久久久久久久久久久久 | 久久久精品国产一区二区 | 91一区啪爱嗯打偷拍欧美 | 综合色站导航 | 亚洲精品乱码久久久久久写真 | 日韩欧美91| 超碰97av在线 | 婷婷播播网 | 最近中文字幕高清字幕在线视频 | 国产一区免费看 | 天天干天天天 | 97超碰人人澡人人爱学生 | 国产专区第一页 | 国产视频每日更新 | 久久免费99精品久久久久久 | 亚洲综合一区二区精品导航 | 日韩精品aaa| 天天综合网在线观看 | 三上悠亚一区二区在线观看 | 国产淫片免费看 | 日韩字幕| 婷婷精品国产欧美精品亚洲人人爽 | av电影不卡在线 | 日韩在线中文字幕 | 中文字幕中文字幕中文字幕 | av色综合 | 免费在线激情电影 | 欧美精品一级视频 | 天天操天天操天天操天天操天天操 | 91精彩视频在线观看 | 日本在线精品视频 | 日韩av高潮 | 久久精品首页 | a级片网站 | 日本中文字幕一二区观 | 国产精品夜夜夜一区二区三区尤 | 就要干b | 亚洲精品美女在线观看 | 国产一二区视频 | 成人三级av | 首页av在线| 日韩影视大全 | 免费在线播放视频 | 日韩成人在线一区二区 | 97超碰资源网 | av短片在线 | 成人国产一区二区 | 在线看日韩 | av线上免费观看 | av高清一区二区三区 | 正在播放亚洲精品 | 久久综合激情 | 国产精品久久久久久久毛片 | 在线观看一级 | 99夜色| 182午夜在线观看 | 日韩av电影中文字幕在线观看 | 国产成人333kkk | 亚洲狠狠干 | 国产精品九九久久久久久久 | 四虎在线免费观看 | 黄色网在线免费观看 | 黄色一级大片在线免费看国产一 | 97av视频| 精品v亚洲v欧美v高清v | 91激情视频在线观看 | 欧美极度另类 | 国内外激情视频 | 99久久精品国产亚洲 | 国产亚洲综合在线 | 中文字幕资源网在线观看 | 亚洲综合色播 | 国产黄色免费电影 | 国产精品一区二区果冻传媒 | 久久精品高清 | 中文在线8资源库 | 99re国产| 97热久久免费频精品99 | 97夜夜澡人人爽人人免费 | 美女福利视频在线 | 亚洲一二三在线 | 91热视频在线观看 | 久久久www成人免费精品张筱雨 | 97超碰超碰| 99久久精品久久久久久清纯 | 婷婷五月在线视频 | 在线观看国产福利片 | 黄色亚洲片 | 丁香资源影视免费观看 | 免费的黄色的网站 | 国产自偷自拍 | 国产一区二区高清视频 | 一区二区三区在线免费观看视频 | 人人狠狠综合久久亚洲婷 | 久久久综合电影 | 五月天六月丁香 | 日韩一级片观看 | 久久久在线免费观看 | 日韩精品一区二区在线观看视频 | 天天艹| 韩国av免费观看 | 免费视频你懂得 | 亚洲一区二区天堂 | 美女免费视频观看网站 | 又黄又爽又湿又无遮挡的在线视频 | 久久久久久久久久影视 | 综合伊人av | 欧美综合在线视频 | 97中文字幕 | 婷婷综合亚洲 | 天天夜夜操| 日韩大片在线免费观看 | 色在线免费观看 | 99国产一区| 最近中文字幕国语免费av | 免费在线视频一区二区 | 六月丁香在线观看 | 国产精品欧美日韩在线观看 | 国产精品美女久久久久久2018 | 在线免费观看黄色大片 | 久久在线精品视频 | 一区二区三区三区在线 | 天天操天天干天天玩 | 免费亚洲视频在线观看 | 丁香六月婷 | 国产91精品在线播放 | 在线视频你懂得 | 在线观看免费国产小视频 | 国际精品网 | 国产资源网站 | 成年人免费在线观看网站 | 伊人伊成久久人综合网小说 | 99免费看片 | 精品99视频 | 亚洲一一在线 | 99精品免费久久久久久久久日本 | 午夜私人影院久久久久 | 9999亚洲 | 伊人色综合久久天天网 | 91麻豆福利 | 一区二区三区在线电影 | 顶级欧美色妇4khd | 欧美日韩视频在线一区 | 午夜久久成人 | 美女视频黄频 | 亚洲一区二区观看 | 国产精品欧美 | 狠狠干成人 | 国产高清在线看 | 国产一级性生活 | 日韩专区在线 | 欧美激情视频一区二区三区 | 四虎影视成人 | 亚洲成人av一区 | 豆豆色资源网xfplay | 在线观看亚洲成人 | 久久一区二区三区国产精品 | 天天玩天天干天天操 | 香蕉手机在线 | 中文字幕一区二区三区在线播放 | 96视频免费在线观看 | 9999毛片| 国产精品毛片久久久久久久久久99999999 | 免费h漫在线观看 | 中文不卡视频在线 | 久久大香线蕉app | 久久人人爽人人爽人人 | 久草9视频 | 国产成人精品一区二区三区 | 欧美午夜精品久久久久 | 国产成人精品久久久久 | 色99视频 | 日韩欧美高清在线 | 美女网站免费福利视频 | 精品视频在线免费 | 亚洲影院一区 | 国产精品一区二区三区免费看 | 国产精品成久久久久三级 | 久久久国产网站 | 九七视频在线观看 | 免费观看成年人视频 | 婷婷丁香六月 | 国产伦理精品一区二区 | 久久96国产精品久久99软件 | 免费在线观看91 | 99这里只有精品视频 | 久久免费视频2 | 美女福利视频一区二区 | 色资源二区在线视频 | 日韩高清一区二区 | 久青草电影| 三级在线国产 | 日韩精品综合在线 | 天天色天天艹 | 国产剧情在线一区 | 黄色网址在线播放 | 黄色1级大片| 国产精品久久久久999 | 啪啪免费试看 | 天天爽天天摸 | 中文字幕视频网站 | 国产天天综合 | 午夜免费在线观看 | 国产精品久久久久久高潮 | 狠狠躁日日躁狂躁夜夜躁av | 亚洲资源在线观看 | 欧美天堂久久 | 在线观看国产成人av片 | 亚洲免费观看视频 | 天天干天天射天天插 | 深爱开心激情 | 久久久久久久久久久精 | 久久免费99精品久久久久久 | 99精彩视频在线观看免费 | 手机av在线不卡 | 精品国产伦一区二区三区观看说明 | 国产午夜精品一区二区三区嫩草 | 成人午夜久久 | 国产成人精品综合 | 麻豆国产精品视频 | www.天天色.com | 偷拍视频一区 | 午夜体验区 | 午夜精品久久久久久 | 97精品国产91久久久久久 | av在线进入| 国产99自拍 | www日韩欧美 | 国产91免费看 | 在线播放 日韩专区 | 国产黄色一级大片 | 91热精品| 天天干 夜夜操 | 99视频在线精品免费观看2 | 国产在线第三页 | 在线免费观看黄 | 国产在线观看你懂的 | 精品一区精品二区高清 | 亚洲精品美女久久久 | 日韩av有码在线 | 亚洲在线a | 一级免费看视频 | 国产不卡精品 | 国产成视频在线观看 | 五月激情久久 | 亚洲成人精品 | www.五月天婷婷.com | 日韩激情精品 | 免费观看全黄做爰大片国产 | 麻豆视频一区二区 | 在线观看一二三区 | 日本在线精品视频 | 日韩伦理片一区二区三区 | 欧美激情第一页xxx 午夜性福利 | 日韩免费高清在线 | 精品国产精品一区二区夜夜嗨 | 国产自制av| 中文字幕一区二区三区乱码在线 | 精品国产视频在线 | 欧美日韩在线视频一区 | 黄网站免费久久 | 综合久久2023 | 超碰97人人在线 | 国产精品国产三级国产不产一地 | 国产精品av在线 | www色网站 | 天天久久夜夜 | 日韩伦理片hd | 国产一区精品在线 | 国产二区免费视频 | 久久99欧美 | 91激情视频在线 | 国产1区在线 | 狠狠色丁香婷婷综合基地 | 91在线麻豆 | 亚洲网站在线看 | 色婷婷国产精品一区在线观看 | 水蜜桃亚洲一二三四在线 | 亚洲在线成人精品 | 国产视频中文字幕在线观看 | 国产精品久久久久久婷婷天堂 | 精品亚洲va在线va天堂资源站 | 成年人免费看片 | 成年人视频在线免费播放 | 一区二区激情 | 久久精品视频99 | 欧美国产日韩激情 | 日韩av影片在线观看 | 天天操天天谢 | 九九99| 久久激情日本aⅴ | 日本三级香港三级人妇99 | 香蕉在线视频播放网站 | 久久久久久国产精品 | 91亚洲精品久久久蜜桃网站 | 伊人一级| 国内精品久久影院 | 国产精品v欧美精品v日韩 | 久久99精品视频 | 国产日产欧美在线观看 | 国产性天天综合网 | 丁香av在线| 久久久久久久久免费 | 一区二区三区四区五区在线视频 | 中中文字幕av在线 | 日韩高清观看 | 国产精品一区二 | 四虎视频 | 一级α片 | 久久艹综合 | 奇米网777 | 亚洲精品高清在线 | 国产一级黄色片免费看 | 亚洲最快最全在线视频 | 波多野结衣视频一区二区三区 | 亚洲精品乱码久久久久久蜜桃91 | 黄色一级大片在线观看 | 久久精品成人热国产成 | 在线网站黄 | av片在线看 | 伊人午夜视频 | 国产成人精品一区在线 | 欧美激情亚洲综合 | 五月婷香 | 精品久久在线 | h文在线观看免费 | 亚洲精品9 | 免费av在线网 | 国产a精品 | 国内精品久久久久久久久久 | 黄视频色网站 | 波多野结依在线观看 | 啪啪激情网 | 在线国产高清 | 91九色视频国产 | 天天操天天干天天 | 黄色的网站在线 | 国产精品21区 | 91成年人在线观看 | 久草视频在线免费 | 国产精品久久久久高潮 | 99视频在线观看视频 | 日韩高清 一区 | 超碰九九 | 精品视频在线观看 | 欧美男同视频网站 | 久久综合九色综合久久久精品综合 | 国产香蕉视频 | 国产裸体永久免费视频网站 | 国产精品爽爽久久久久久蜜臀 | 91精品视屏 | 久久色亚洲 | 国产99久久久精品 | 伊人色综合久久天天网 | 国产高清在线看 | 手机在线看a | 欧美夫妻性生活电影 | 国产一区二区视频在线播放 | 久久人人插 | 在线日本看片免费人成视久网 | 久在线观看 | 久久精品九色 | 91视频高清| 夜夜澡人模人人添人人看 | 在线播放91| 一区二区免费不卡在线 | 成人网在线免费视频 | 99热官网 | 免费成人av| 亚洲乱亚洲乱亚洲 | 视频成人永久免费视频 | 国产精品18videosex性欧美 | 日韩在线首页 | 美女网站色在线观看 | 久久久国产精品网站 | 欧美日韩xx| 国产精品久久久视频 | 最近日本韩国中文字幕 | 天天干天天玩天天操 | 日日摸日日添夜夜爽97 | 黄色一级在线观看 | 国产精品ⅴa有声小说 | 九九久久久久99精品 | 久久69精品久久久久久久电影好 | 国产一级视频免费看 | 欧美资源 | 中文字幕一区二区在线观看 | 一级黄色在线视频 | 日韩免费av网址 | 精品自拍sae8—视频 | av免费看网站 | 成人av电影在线 | 9在线观看免费高清完整版在线观看明 | 97在线免费视频观看 | 天天爱天天操 | 伊人六月 | 国产日产在线观看 | 在线免费黄色av | 久久精品韩国 | 久久久久久久久久伊人 | 免费看av片网站 | 狠狠干.com | 五月天六月色 | 91精品网站| 国产视频日韩视频欧美视频 | 深夜男人影院 | 在线看成人 | 精品国产免费观看 | 久一在线 | 国产不卡片 | 五月综合色婷婷 | 综合国产在线 | 日日干天天爽 | 国产最新91| 欧美男同网站 | 国产精品国产亚洲精品看不卡15 | 伊人婷婷 | 日韩欧美xx | 精品国产乱码久久久久久1区二区 | 久草在线视频在线观看 | 婷婷深爱五月 | 久久久九色精品国产一区二区三区 | 欧美日韩三级在线观看 | 一区二区激情 | 一级成人网 | 精品久久久久国产 | 丁香高清视频在线看看 | 日韩高清 一区 | 成人av高清在线观看 | 日韩女同av| 麻豆国产精品永久免费视频 | 在线免费视| 激情综合亚洲精品 | 黄色a级片在线观看 | 久久美女精品 | 热久久影视 | 天天射天天操天天色 | 国产一区在线免费观看视频 | 亚洲精品在线免费 | 国产小视频在线免费观看视频 | 国产小视频91 | 午夜性福利| 婷婷精品国产欧美精品亚洲人人爽 | 国产电影一区二区三区四区 | 久久蜜臀一区二区三区av | 五月婷婷六月丁香 | 精品国产91亚洲一区二区三区www | 一级电影免费在线观看 | 色综合久久88色综合天天人守婷 | 特级大胆西西4444www | 午夜av在线 | 精品久久毛片 | 96av在线视频| av网站地址 | 亚洲综合最新在线 | 免费视频成人 | 久久久久区 | 久久99欧美 | 久久电影网站中文字幕 | 久久久久在线 | 97国产精品免费 | 久久国产精品二国产精品中国洋人 | 五月天六月色 | 国产视频1区2区3区 久久夜视频 | 91免费视频网站在线观看 | 日日日日 | 欧美国产一区二区 | 草免费视频| www视频在线播放 | 天堂av免费观看 | 日韩性色 | 亚洲永久精品一区 | 久久欧美精品 | 日韩欧美电影网 | 亚洲资源视频 | 婷婷丁香在线观看 | 91精品在线播放 | 特级西西444www大精品视频免费看 | 亚洲一区久久久 | 黄色小说网站在线 | 色插综合 | 日本午夜在线观看 | 中文字幕在线观看完整 | 久草视频99| 久久久久激情 | 国产福利91精品 | 97国产一区 | 亚洲激情 欧美激情 | 香蕉视频日本 | 亚洲欧美日韩在线看 | 久久激五月天综合精品 | 国产精品国产毛片 | 黄网站免费大全入口 | 在线激情网 | 国产高清在线永久 | 涩av在线 | 国产精品av电影 | 亚洲综合视频在线 | 日本中文字幕免费观看 | 91高清免费看 | 国产精品2020 | 福利一区在线视频 | 国产69精品久久久久9999apgf | 国产亚洲视频在线 | 99免费在线| 少妇高潮冒白浆 | 精品黄色在线观看 | 啪嗒啪嗒免费观看完整版 | 91成品人影院 | 国产成人精品一区二区 | 九九免费在线视频 | 国产一级电影 | 欧美analxxxx| 欧美一级大片在线观看 | 亚洲视频大全 | 中文字幕av免费观看 | 97在线观看免费观看 | 欧美另类老妇 | 2019中文字幕第一页 | 片网址| 久久久精品一区二区三区 | 色姑娘综合天天 | 精品免费一区二区三区 | 亚洲一区二区三区毛片 | 欧美性久久久 | 在线亚洲天堂网 | 午夜国产福利在线观看 | 五月婷婷毛片 | 色噜噜狠狠狠狠色综合久不 | 久草热久草视频 | 欧美日韩三区二区 | 黄色小说在线观看视频 | 最近久乱中文字幕 | 99成人精品 | 久草国产视频 | 亚洲视频免费在线看 | 99久久精品国产一区二区三区 | 久草在| 免费亚洲视频 | 天天操天天色天天 | 欧亚日韩精品一区二区在线 | 四虎成人精品永久免费av | 亚洲成人精品影院 | 欧美亚洲国产精品久久高清浪潮 | 激情喷水 | 免费久久久久久 | 亚洲性少妇性猛交wwww乱大交 | 人人干狠狠干 | 97人人艹 | 亚洲国产精品免费 | 99热精品国产一区二区在线观看 | 天天搞天天干天天色 | 久久99免费观看 | 午夜手机看片 | 又黄又刺激视频 | 日日操网站 | 天天射夜夜爽 | 色婷婷天天干 | 欧美日韩高清一区 | 天天爱天天射 | 亚洲精品视频观看 | 亚洲特级毛片 |