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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第二节:框架前期准备篇之AutoFac常见用法总结

發布時間:2023/12/10 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第二节:框架前期准备篇之AutoFac常见用法总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. 說在前面的話

  凡是大約工作在兩年以上的朋友們,或多或少都會接觸到一些框架搭建方面的知識,只要一談到框架搭建這個問題或者最佳用法這個問題,勢必會引起一點點小小的風波,我說我的好,他說他的好,非常容易罵架,所以在本節乃至該系列我僅僅是總結了一下自己日常中的一些用法,談一下自己淺陋的見解,談不上最佳,只要不誤導新手 能有點幫助作用就可以了,如您不喜歡,請“右上角? 謝謝”。

  在框架搭建過程中,在層與層的解耦方面,勢必會涉及到IOC框架,.Net 平臺下我用過的IOC框架主要是: Spring.Net 、Unity、AutoFac,當然還有Castle(我沒用過,就不發表任何評論了), 在用過的IOC框架中,Spring.Net 相對很老了,貌似在2015年就不在更新了,但基本的功能也夠用了。 現階段用的最多的就是Unity和AutoFac了,版本更新也比較快,Unity大約一年前寫過兩篇文章了,本次在該框架系列也會考慮更新一下Unity,本節主要介紹一下AutoFac的幾個基本用法。

  先說一下兩個概念IOC和DI,我的理解:

  ① IOC:調用者不再創建(不自己new)被調用者的實例,而是交給容器去創建(AutoFac就充當這里的容器),這就是控制反轉。

  ② DI:容器創建好的實例再注入調用者的過程,就是依賴注入(比如:屬性注入、構造函數注入等)。

AutoFac的信息:

  ①?官網地址:https://autofac.org/

  ② 官方文檔:http://autofac.readthedocs.io/en/latest/index.html

  ③ 最新版本:4.8.1 (截止2018-08-21)

  本節的內容主要包括:

    1. 在使用IOC框架之前的幾種創建對象的方式。

    2. AutoFac的基本用法和幾種生命周期。

    3. AutoFac和Asp.Net MVC5進行整合,利用屬性的方式進行注入。

事先說明一下本節要用到的實現類和接口類:

(1). Ypf.BLL層中包括:CatBLL、DogBLL、RoleBLL、UserBLL。

?CatBLL

?DogBLL

?RoleBLL

?UserBLL

(2). Ypf.IBLL層包括:IAnimalBLL、IPeopleBLL、IRoleBLL、IUserBLL。

?IAnimalBLL

?IPeopleBLL

?IRoleBLL

?IUserBLL

?

二. 引入IOC框架之前的幾個寫法

1.?最原始的方式直接new(需添加對BLL層的引用)

1 { 2 UserBLL userBll = new UserBLL(); 3 var result1 = userBll.GetUserInfor(); 4 Console.WriteLine(result1); 5 }

?

2. 面向接口編程(仍需添加對BLL層的引用)

1 { 2 IUserBLL userBll = new UserBLL(); 3 var result1 = userBll.GetUserInfor(); 4 Console.WriteLine(result1); 5 }

?

3.?接口+反射(只需將BLL層的程序集拷貝進來)

1 {2 Assembly ass = Assembly.Load("Ypf.BLL");3 Type type = ass.GetType("Ypf.BLL.UserBLL");4 //調用默認的無參構造函數進行對象的創建5 object myUserBLL = Activator.CreateInstance(type);6 IUserBLL userBLL = (IUserBLL)myUserBLL;7 var result1 = userBLL.GetUserInfor();8 Console.WriteLine(result1);9 10 }

?

4. 手寫IOC(反射+簡單工廠+配置文件)【需將BLL層的程序集拷貝進來】

?配置文件代碼:

<appSettings><!--直接修改配置文件,可以切換IUserBLL的實現類,發布后可以直接通過改配置文件,代碼什么也不用改,體會:反射+面向接口編程--><add key="DllName" value="Ypf.BLL"/><add key="ClassName" value="Ypf.BLL.UserBLL"/></appSettings>

簡單工廠代碼:

1 /// <summary>2 /// 簡單工廠,隔離對象的創建3 /// </summary>4 public class SimpleFactory5 {6 private static string DllName = ConfigurationManager.AppSettings["DllName"];7 private static string ClassName = ConfigurationManager.AppSettings["ClassName"];8 public static IUserBLL CreateInstance()9 { 10 Assembly ass = Assembly.Load(DllName); 11 Type type = ass.GetType(ClassName); 12 object obj = Activator.CreateInstance(type); 13 return (IUserBLL)obj; 14 } 15 }

調用代碼:

1 { 2 IUserBLL userBLL = SimpleFactory.CreateInstance(); 3 var result = userBLL.GetUserInfor(); 4 Console.WriteLine(result); 5 }

?

三. AutoFac常見用法總結

1. 基本用法

?  同時添加對Ypf.BLL層和Ypf.IBLL層的引用,然后 聲明容器→注冊實例→解析對象→調用方法、進行測試,代碼如下:

1 { 2 ContainerBuilder builder = new ContainerBuilder(); 3 //把UserBLL注冊為IUserBLL實現類,當請求IUserBLL接口的時候,返回UserBLL對象 4 builder.RegisterType<UserBLL>().As<IUserBLL>(); 5 IContainer resolver = builder.Build(); 6 IUserBLL userBLL = resolver.Resolve<IUserBLL>(); 7 var result1 = userBLL.GetUserInfor(); 8 Console.WriteLine(result1); 9 }

  評價:這種用法單純的是為了介紹AutoFac中的幾個方法,僅此而已,在實際開發沒有這么用的,坑比用法,起不到任何解耦的作用。

?

2.?AsImplementedInterfaces的用法

?  在很多情況下,一個類可能實現了多個接口, 如果我們通過??builder.RegisterType<xxxBLL>().As<IxxxBLL>(); 這種方式按部就班排著把這個類注冊給每個接口,實現幾個接口,就要寫幾行注冊代碼,很繁瑣,我們可以通過?AsImplementedInterfaces()?方法,可以把一個類注冊給它實現的全部接口。

?  這樣的話,想用哪個接口,通過Resolve解析即可,代碼如下:

1 {2 ContainerBuilder builder = new ContainerBuilder();3 //這樣請求UserBLL實現的任何接口的時候都會返回 UserBLL 對象。4 builder.RegisterType<UserBLL>().AsImplementedInterfaces();5 IContainer resolver = builder.Build();6 IUserBLL iUserBLL = resolver.Resolve<IUserBLL>();7 IPeopleBLL iPeopleBLL = resolver.Resolve<IPeopleBLL>();8 9 var r1 = iUserBLL.GetUserInfor(); 10 var r2 = iPeopleBLL.Introduce(); 11 12 Console.WriteLine(r1); 13 Console.WriteLine(r2); 14 }

  評價:同時添加對Ypf.BLL層和Ypf.IBLL層的引用,這里也是單純的為了介紹AsImplementedInterfaces()的用法,還是存在實現類的身影,在實際開發中沒有這么用的,起不到任何解耦的作用,坑比用法。

?

3.?AutoFac+反射(徹底消滅實現類)

  引入反射的背景:前面兩種方式都需要添加對Ypf.BLL層的引用,麻煩的要死,根本沒有什么改觀,還是緊耦合在一起。并且如果有很多接口和實現類的話,用RegisterType一行一行的去寫,累個半死,在這種情況下引入反射的概念,簡化代碼量,代碼如下:

1 {2 ContainerBuilder builder = new ContainerBuilder();3 //加載實現類的程序集4 Assembly asm = Assembly.Load("Ypf.BLL");5 builder.RegisterAssemblyTypes(asm).AsImplementedInterfaces();6 IContainer resolver = builder.Build();7 8 IUserBLL userBLL = resolver.Resolve<IUserBLL>();9 IPeopleBLL peopleBLL = resolver.Resolve<IPeopleBLL>(); 10 var r1 = userBLL.GetUserInfor(); 11 var r2 = peopleBLL.Introduce(); 12 13 Console.WriteLine(r1); 14 Console.WriteLine(r2); 15 }

  評價:徹底擺脫了實現類的身影,與Ypf.BLL層進行了解耦,只需要添加對Ypf.IBLL層的引用,但需要把Ypf.BLL的程序集拷貝到AutoFacTest項目下。

小小的升級一下:

?  把反射那個程序集類寫到配置文件中,然后在代碼中通過讀取配置文件進行進一步的反射,代碼如下:

1 <appSettings> 2 <add key="DllName" value="Ypf.BLL"/> 3 </appSettings>

1 {2 ContainerBuilder builder = new ContainerBuilder();3 //加載實現類的程序集4 string DllName = ConfigurationManager.AppSettings["DllName"];5 Assembly asm = Assembly.Load(DllName);6 builder.RegisterAssemblyTypes(asm).AsImplementedInterfaces();7 IContainer resolver = builder.Build();8 9 IUserBLL userBLL = resolver.Resolve<IUserBLL>(); 10 IPeopleBLL peopleBLL = resolver.Resolve<IPeopleBLL>(); 11 var r1 = userBLL.GetUserInfor(); 12 var r2 = peopleBLL.Introduce(); 13 14 Console.WriteLine(r1); 15 Console.WriteLine(r2); 16 }

?

4.?PropertiesAutowired(屬性的自動注入)

  背景:一個實現類中定義了其他類型的接口屬性,比如RoleBLL中定義IUserBLL的接口屬性,而且要對其進行調用,?這個時候就需要通過PropertiesAutowired實現屬性的自動注入了。

  注:只有通過AutoFac創建的對象才能實現屬性的自動注入!!?相關的類、接口要是public類型。

?RoleBLL

1 {2 ContainerBuilder builder = new ContainerBuilder();3 //加載實現類的程序集4 Assembly asm = Assembly.Load("Ypf.BLL");5 builder.RegisterAssemblyTypes(asm).AsImplementedInterfaces().PropertiesAutowired();6 IContainer resolver = builder.Build();7 8 IRoleBLL iRoleBLL = resolver.Resolve<IRoleBLL>();9 var r1 = iRoleBLL.ShowDIDemo(); 10 Console.WriteLine(r1); }

  下面測試一下不是AutoFac創建的對象能否實現屬性的自動注入,新建TempTest類,在里面聲明IUserBLL屬性,并且在方法中進行調用,然后new一個TempTest對象,對該showMsg方法進行調用,發現報空指針錯誤,說明userBLL屬性為空,沒能自動注入。

1 public class TempTest 2 { 3 public IUserBLL userBLL { get; set; } 4 5 public void showMsg() 6 { 7 Console.WriteLine(userBLL.GetUserInfor()); 8 } 9 }

1 //測試自己new的對象不能實現屬性的自動注入 2 //下面代碼報空指針錯誤 3 { 4 TempTest t = new TempTest(); 5 t.showMsg(); 6 }

?

5.?1個接口多個實現類的情況

  背景:1個接口有多個實現類的情況(DogBLL 和 CatBLL 都實現了 IAnimalBLL接口)

  分析:resolver.Resolve<IAnimalBLL>();只會返回其中一個類的對象

  解決方案:如果想返回多個實現類的對象,改成 resolver.Resolve<IEnumerable<IAnimalBLL>>()即可。

1 {2 ContainerBuilder builder = new ContainerBuilder();3 //加載實現類的程序集4 Assembly asm = Assembly.Load("Ypf.BLL");5 builder.RegisterAssemblyTypes(asm).AsImplementedInterfaces().PropertiesAutowired();6 IContainer resolver = builder.Build();7 8 //返回 CalBLL 和 DogBLL 中的一個9 //{ 10 // IAnimalBLL iAnimalBLL = resolver.Resolve<IAnimalBLL>(); 11 // var r1 = iAnimalBLL.Introduce(); 12 // Console.WriteLine(r1); 13 //} 14 15 //如何獲取多個呢? 16 { 17 IEnumerable<IAnimalBLL> blls = resolver.Resolve<IEnumerable<IAnimalBLL>>(); 18 foreach (IAnimalBLL animalBLL in blls) 19 { 20 Console.WriteLine(animalBLL.GetType()); 21 Console.WriteLine(animalBLL.Introduce()); 22 } 23 } 24 }

?

6.?AutoFac的幾種常見生命周期

1. InstancePerDependency:每次請求 Resovle都返回一個新對象。InstancePerDependency()【這也是默認的創建實例的方式。】

2. SingleInstance: 單例,只有在第一次請求的時候創建 。SingleInstance()

3. InstancePerRequest:ASP.Net MVC 專用,每次http請求內一個對象(也可以理解為一個方法內)。InstancePerRequest() 和 CallContext神似

4. InstancePerLifetimeScope:在一個生命周期域中,每一個依賴或調用創建一個單一的共享的實例,且每一個不同的生命周期域,實例是唯一的,不共享的。

?下面測試一下前兩種生命周期

?情況1

1 {2 ContainerBuilder builder = new ContainerBuilder();3 //加載實現類的程序集4 Assembly asm = Assembly.Load("Ypf.BLL");5 builder.RegisterAssemblyTypes(asm).AsImplementedInterfaces().PropertiesAutowired().InstancePerDependency();6 IContainer resolver = builder.Build();7 8 IUserBLL u1 = resolver.Resolve<IUserBLL>();9 IUserBLL u2 = resolver.Resolve<IUserBLL>(); 10 11 Console.WriteLine(object.ReferenceEquals(u1, u2)); 12 13 }

結果:False,證明InstancePerDependency 每次都創建一個新對象

情況2

1 {2 ContainerBuilder builder = new ContainerBuilder();3 //加載實現類的程序集4 Assembly asm = Assembly.Load("Ypf.BLL");5 builder.RegisterAssemblyTypes(asm).AsImplementedInterfaces().PropertiesAutowired().SingleInstance();6 IContainer resolver = builder.Build();7 8 IUserBLL u1 = resolver.Resolve<IUserBLL>();9 IUserBLL u2 = resolver.Resolve<IUserBLL>(); 10 11 Console.WriteLine(object.ReferenceEquals(u1, u2)); 12 13 }

結果:true,證明SingleInstance 每次都返回同一個對象。

?

四. AutoFac與MVC整合

1. Controller中通過屬性注入對象

?步驟1:在Ypf.MVC層中添加對Ypf.IBLL層的引用,并將Ypf.BLL的程序集拷貝到 Ypf.MVC中,或者直接改一下Ypf.BLL輸出路徑。

?步驟2:通過Nuget安裝程序集 Autofac.Mvc5。

?步驟3:在Gloabl 注冊 AutoFac代碼。

1 public class MvcApplication : System.Web.HttpApplication2 {3 protected void Application_Start()4 {5 AreaRegistration.RegisterAllAreas();6 FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);7 RouteConfig.RegisterRoutes(RouteTable.Routes);8 BundleConfig.RegisterBundles(BundleTable.Bundles);9 10 /***********下面是AutoFac的注冊*************/ 11 //1. 創建容器 12 var builder = new ContainerBuilder(); 13 //2. 把當前程序集中的所有Controller都注冊進來 14 builder.RegisterControllers(typeof(MvcApplication).Assembly).PropertiesAutowired(); 15 //3. 把Ypf.BLL中的所有類注冊給它的全部實現接口,并且把實現類中的屬性也進行注冊 16 //{ Assembly asmService = Assembly.Load("Ypf.BLL"); } 17 //PS:這里可以配合配置文件的,將Ypf.BLL寫到配置文件中 18 string DllName = ConfigurationManager.AppSettings["DllName"]; 19 Assembly asmService = Assembly.Load(DllName); 20 builder.RegisterAssemblyTypes(asmService).Where(t => !t.IsAbstract).AsImplementedInterfaces().PropertiesAutowired(); 21 var container = builder.Build(); 22 //4. 下面這句話表示當mvc創建controller對象的時候,都是由AutoFac為我們創建Controller對象 23 DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); 24 25 26 } 27 }

PS:分享個小技巧

步驟4:在Controller中進行調用。

?

2. 普通類中通過代碼獲取對象

  在一個沒有通過AutoFac注冊的普通類中如何獲取接口對象呢,通過DependencyResolver.Current.GetService<IUserBLL>();來獲取。

  代碼如下:

1 public class Utils 2 { 3 public static string Test() 4 { 5 IUserBLL userBLL = DependencyResolver.Current.GetService<IUserBLL>(); 6 return userBLL.GetUserInfor(); 7 } 8 }

?

3. 如何在普通類中通過屬性的方式注入對象

需要有兩個條件:

  ①: 這個普通類的創建必須在Global中通過AutoFac來進行注冊。

  ②: 獲取這個類的時候必須通過 DependencyResolver.Current.GetService<IUserBLL>(); 這種方式來獲取。

?在Global文件中注冊該普通類

?

該普通類CommonHelp的獲取必須通過DependencyResolver.Current.GetService<CommonHelp>();方式來獲取。

?

4. 在單獨線程中獲取對象

  比如在Quartz.Net 中,需要通過下面代碼來獲取。

詳細代碼如下:

{//1.創建作業調度池(Scheduler)IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();//2.創建一個具體的作業即job (具體的job需要單獨在一個文件中執行)var job = JobBuilder.Create<HelloJob>().Build();//3.創建并配置一個觸發器即trigger 1s執行一次var trigger = TriggerBuilder.Create().WithSimpleSchedule(x => x.WithIntervalInSeconds(1).RepeatForever()).Build();//4.將job和trigger加入到作業調度池中scheduler.ScheduleJob(job, trigger);//5.開啟調度scheduler.Start(); }

1 public class HelloJob:IJob2 {3 void IJob.Execute(IJobExecutionContext context)4 {5 IUserBLL userBLL;6 var container = AutofacDependencyResolver.Current.ApplicationContainer;7 using (container.BeginLifetimeScope())8 {9 userBLL = container.Resolve<IUserBLL>(); 10 } 11 //下面代碼只是測試 12 Console.WriteLine(userBLL.GetUserInfor()); 13 } 14 }

!

  • 作???????者 :?Yaopengfei(姚鵬飛)
  • 博客地址 :?http://www.cnblogs.com/yaopengfei/
  • 聲?????明1 : 本人才疏學淺,用郭德綱的話說“我是一個小學生”,如有錯誤,歡迎討論,請勿謾罵^_^。
  • 聲?????明2 : 原創博客請在轉載時保留原文鏈接或在文章開頭加上本人博客地址,否則保留追究法律責任的權利。

?

?

總結

以上是生活随笔為你收集整理的第二节:框架前期准备篇之AutoFac常见用法总结的全部內容,希望文章能夠幫你解決所遇到的問題。

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

五月天久久久久久 | 日韩精品一区二区三区水蜜桃 | 91麻豆精品国产91久久久使用方法 | 国产无吗一区二区三区在线欢 | 久久深夜福利免费观看 | 久草在线资源网 | 天堂资源在线观看视频 | 三级动态视频在线观看 | 精品一区精品二区高清 | 久久久免费精品国产一区二区 | 国产一区在线观看免费 | 亚洲视频在线免费看 | 99麻豆视频 | 色的网站在线观看 | 国产精品网红直播 | 欧美日韩国产网站 | 草久视频在线 | 免费看黄色大全 | 日本论理电影 | 国产成人一区二区三区久久精品 | 日韩午夜av电影 | 色综合天天射 | 激情图片久久 | 欧美片一区二区三区 | 天天综合网 天天综合色 | 麻豆观看 | 久久天堂影院 | 国产精品久久久久久久久久妇女 | 激情久久五月天 | 久久久久久久久久久精 | 国产在线精品二区 | 国产成人精品一区二区三区 | 天天操天天操天天操天天操天天操 | av3级在线 | 欧美日韩性视频在线 | 国产女做a爱免费视频 | 24小时日本在线www免费的 | 99精品在线视频播放 | 91视频在线免费 | 中文字幕丝袜一区二区 | 天堂网一区二区三区 | 国产午夜精品免费一区二区三区视频 | 国产精品乱码高清在线看 | 国产精品专区h在线观看 | 97在线观| 免费看在线看www777 | 天无日天天操天天干 | 精品国产视频在线 | 国产日韩中文字幕 | 五月婷婷六月丁香激情 | 激情av在线播放 | av免费网站观看 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 亚洲欧洲国产视频 | 亚洲激情视频 | 中文字幕国产精品一区二区 | 成人欧美在线 | 精品国产欧美一区二区三区不卡 | 不卡电影一区二区三区 | 狠狠色丁香婷婷综合久久片 | 黄色av观看| 久草网视频在线观看 | 午夜黄色大片 | 精品国产免费观看 | 久草观看| 日韩欧美一区二区三区视频 | 欧美黄在线 | 欧美综合干| 国产色视频一区二区三区qq号 | 欧美一二三区在线播放 | 国产日韩三级 | 国产91九色视频 | 日日夜夜狠狠干 | a黄色片在线观看 | 国产男男gay做爰 | 玖玖玖精品 | 狠狠操狠狠干2017 | av免费在线播放 | 久久久国产影视 | 91精品国产自产在线观看 | 亚洲视频在线视频 | 免费色黄 | 国产免费a | 欧洲一区二区在线观看 | av福利在线看 | 中文字幕在线专区 | 欧美专区国产专区 | 日韩免费三区 | 国产一区二区电影在线观看 | 欧美日韩一区二区视频在线观看 | 成人四虎影院 | 国产在线综合视频 | 日韩成人免费电影 | 69视频网站 | 久久精品视频免费播放 | 精品一区电影 | 国产夫妻自拍av | 精品视频成人 | 91在线免费公开视频 | 亚洲精品国精品久久99热 | 国产精品一区二区精品视频免费看 | 精品视频专区 | 婷婷丁香狠狠爱 | 国产在线播放一区二区 | 又黄又爽又刺激视频 | 狠狠干中文字幕 | 久久在线观看视频 | 狠狠色狠狠色综合日日小说 | 欧美亚洲三级 | 9999精品免费视频 | 成人av免费看 | 国色天香在线观看 | 97超碰人人澡人人爱 | 久久国产精品免费 | 久久蜜臀一区二区三区av | 中文字幕日韩在线播放 | 波多野结衣一区 | 久久久久免费视频 | 亚洲精品456在线播放第一页 | a天堂在线看 | 亚洲国产精品一区二区尤物区 | 麻豆精品在线视频 | 字幕网资源站中文字幕 | 亚洲专区欧美专区 | 中国一区二区视频 | a视频在线观看免费 | 国产人成精品一区二区三 | 国产成人在线播放 | 国产二区电影 | av网址在线播放 | 日韩av中文在线 | 国产二区视频在线观看 | 久草网在线观看 | 激情五月婷婷激情 | 国产成人一级 | 国产精品色婷婷视频 | 在线观看日韩 | 国产一级黄色av | 碰超在线观看 | 蜜臀av一区二区 | 日韩精品一区二区三区丰满 | 国产成人精品综合 | 日日草夜夜操 | 精品久久久999 | 精品久久久999 | 免费在线观看日韩视频 | 亚洲综合视频在线观看 | 三级av小说| 久久午夜国产精品 | 国产91成人在在线播放 | 日韩高清无线码2023 | 色噜噜在线观看视频 | 日韩资源在线 | 激情视频在线高清看 | 久久精品国产免费 | 在线播放国产一区二区三区 | 999国产在线 | 精品久久片 | 久草视频一区 | 六月婷操| 国产99一区二区 | 国产三级午夜理伦三级 | 日本中文字幕系列 | 国产视频一二区 | 欧美日韩国产精品一区二区亚洲 | 91av播放 | 天堂在线成人 | 久精品视频在线观看 | 久久伦理电影网 | 丁香六月色 | 日韩啪视频 | 在线视频一二三 | 成人影片在线免费观看 | 久久久久在线观看 | 国产99亚洲 | 国产精品观看视频 | 日本在线h | 一区二区三区在线观看免费视频 | 精品久操| av在线免费观看黄 | 精品在线视频播放 | 视频精品一区二区三区 | 五月天com | 国产欧美在线一区二区三区 | 国产在线欧美 | 中文字幕第一页在线视频 | 91精品办公室少妇高潮对白 | 国产精品美女久久久网av | 成人蜜桃网 | 天天操天天干天天操天天干 | 超碰免费久久 | 久久成人一区 | 视频一区久久 | 国色天香在线 | 91视频在线免费看 | 高清国产在线一区 | 亚洲人成人99网站 | 欧美粗又大 | 久久国产精品久久久久 | 国产黄色av | 2020天天干天天操 | 久久久久久久久久久久久久电影 | 国产盗摄精品一区二区 | 亚洲性少妇性猛交wwww乱大交 | 狠狠狠色| 国产精品女同一区二区三区久久夜 | 99精品久久久久久久 | 久草在线最新免费 | 狠狠久久伊人 | 中文字幕 在线 一 二 | 欧美aaaxxxx做受视频 | 久草在线视频在线观看 | 久草视频资源 | 久久久久久国产精品亚洲78 | 日韩高清成人 | 人人舔人人干 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 一级黄网 | 中文字幕av在线电影 | 欧美孕妇视频 | 亚洲日本在线视频观看 | 综合色中色 | 国产视频欧美视频 | 国产偷国产偷亚洲清高 | 亚洲综合射 | 三级在线国产 | 色综合久久久久久久久五月 | 国产精品区二区三区日本 | 国产一级片一区二区三区 | 欧美一级久久久久 | 美女视频黄的免费的 | 97视频免费在线 | 欧美日韩国产一二三区 | 欧洲激情综合 | 在线观看日韩免费视频 | 国产一区精品在线观看 | 久久久久久久久免费视频 | 高清国产午夜精品久久久久久 | 日韩理论电影在线观看 | 亚洲精品久久久久中文字幕二区 | 黄色网www | 在线成人中文字幕 | 九九爱免费视频在线观看 | 国内精品久久久久国产 | 蜜臀久久99精品久久久无需会员 | 成人黄视频 | 精品理论片 | av短片在线观看 | 黄色三级av | 欧美一级视频一区 | 国产一区在线观看视频 | 四虎免费在线观看视频 | 天天操天天色天天射 | 色视频网站免费观看 | 欧美成人高清 | 一区二区三区免费在线观看 | 国产一区在线免费观看 | 国产在线超碰 | 97电影手机 | 亚洲精品久久久久www | 成人网444ppp | 久草在线免费资源站 | 18女毛片 | 亚洲色综合 | 婷婷色亚洲| 久久精品视频在线观看免费 | 中文字幕永久 | 在线va网站 | 亚洲黄网址 | 色久综合| 九九精品在线观看 | 综合在线色 | 国产私拍在线 | 玖玖精品视频 | 国产精品人人做人人爽人人添 | 狠狠干我| 99精品国产在热久久 | 欧美韩国在线 | 久久69精品| 美女网站在线 | av在线色| 成+人+色综合 | a黄色大片 | www.天天成人国产电影 | a级黄色片视频 | 99成人免费视频 | 深爱婷婷网 | 欧美久久久久久久 | 国产成人综合精品 | 国产精品 中文在线 | 欧洲色吧 | 国产剧情一区 | 久久精品99久久久久久2456 | www日韩欧美 | 色在线高清| av无限看| 亚洲天天 | 国产高清av免费在线观看 | 美女亚洲精品 | 亚洲高清激情 | 日韩va欧美va亚洲va久久 | 亚洲国产69 | 国产精品一码二码三码在线 | 人人天天夜夜 | 中文字幕国产一区二区 | 天天射天天操天天干 | 国产精品成人自拍 | 五月天电影免费在线观看一区 | 人人射人人爱 | 少妇视频一区 | 午夜免费福利片 | 黄色av电影网 | 婷婷六月在线 | 夜夜操天天操 | 久草在线免费看视频 | 日韩福利在线观看 | free. 性欧美.com | 日韩一区二区三区视频在线 | 国产精品福利在线 | 成年人在线观看视频免费 | 天堂视频中文在线 | 91视频-88av| 日韩欧美精品一区二区 | 91手机电影 | 911国产精品 | 久久精品站 | 午夜成人免费影院 | 中文字幕av在线不卡 | 国产粉嫩在线观看 | 人人舔人人爽 | 久久综合影音 | 久久九九九九 | 蜜桃av久久久亚洲精品 | 日韩精品不卡在线 | 国产成人综合在线观看 | 91成人破解版 | 激情五月激情综合网 | 亚洲精品免费在线播放 | 成人av免费播放 | 一二区av | 一级免费看 | 91精品一区二区在线观看 | 国产精品中文字幕在线观看 | 久黄色 | 国产99精品 | 久久久免费观看完整版 | 欧美一级黄色片 | 国产永久免费观看 | 夜夜婷婷 | 四虎影视成人永久免费观看亚洲欧美 | 视频二区在线 | 欧美精品在线观看 | 亚洲综合视频在线播放 | 91精品国自产在线偷拍蜜桃 | 97在线视频免费播放 | 国产男男gay做爰 | 丁香5月婷婷久久 | 亚洲国产一区在线观看 | 在线观看第一页 | 日日夜夜精品免费观看 | 欧美亚洲国产精品久久高清浪潮 | 经典三级一区 | 91在线免费观看国产 | 丁香九月婷婷 | 成人小电影在线看 | 色综合国产| 日韩一区二区三区高清免费看看 | 国产视频网站在线观看 | 亚洲免费永久精品国产 | 久久视频一区二区 | 国产精品视频永久免费播放 | 日本黄色免费大片 | 成人亚洲欧美 | 色偷偷网站视频 | 成年人视频免费在线 | av播放在线 | 日本最新中文字幕 | 国产一二三区在线观看 | 一区二区三区在线免费观看视频 | 成人动漫视频在线 | 亚洲理论片在线观看 | 一区二区三区精品久久久 | 日韩在线电影观看 | 久久精品久久精品久久精品 | 91亚洲精品国偷拍自产在线观看 | 色婷婷www| 深夜国产福利 | 久草99 | 久久精品毛片基地 | 久草综合在线 | 国产精品一区二区在线 | 国产精品一区二区 91 | 久久久久国产精品免费网站 | 午夜精品一二三区 | 日韩中文字 | 一区二区三区国产欧美 | 日本三级在线观看中文字 | 日韩av福利在线 | 网站在线观看你们懂的 | 久艹视频在线免费观看 | 成人黄色av免费在线观看 | 国产资源在线播放 | 亚洲欧美综合 | 国产精品美女久久久久久 | 午夜精品久久久久久久久久 | 天天玩天天干 | 国产不卡免费av | 天天爽人人爽夜夜爽 | 中文av日韩| 免费精品视频 | 不卡视频国产 | a天堂中文在线 | 国产专区视频在线 | 99精品国产高清在线观看 | 最近中文字幕久久 | 国产精品嫩草69影院 | 亚洲欧洲一区二区在线观看 | av一区二区三区在线播放 | 91精品久久久久久久久久入口 | 天天夜夜狠狠操 | 亚洲 欧美 另类人妖 | 亚洲在线视频播放 | 国产精品色视频 | 手机色站| 国产一区播放 | wwwwww国产 | 亚洲aⅴ在线观看 | 亚洲高清久久久 | 中文字幕精品三级久久久 | 午夜精品一区二区三区在线观看 | 开心丁香婷婷深爱五月 | 免费视频你懂的 | 亚洲国产三级在线 | 日韩av电影免费在线观看 | 国产精品美女久久久久久久 | 婷婷av电影 | www五月天婷婷 | 免费久久久久久久 | 人人爱人人做人人爽 | 中文av网| 人人cao| 国产女教师精品久久av | 91欧美日韩国产 | 国产日韩亚洲 | 久久激情电影 | 91高清在线看 | 婷婷午夜| 国产高清永久免费 | 91精品人成在线观看 | 中文字幕视频网站 | 成人av一区二区在线观看 | 不卡的av中文字幕 | 欧美一级电影免费观看 | 三级av网 | 国产精品theporn | 国产经典av| 99久久影院 | 国产精品毛片一区二区在线 | 字幕网在线观看 | 九九九热精品 | 亚洲粉嫩av | 成人免费看片98欧美 | 久草在在线 | 天天躁日日躁狠狠躁 | 看片的网址 | 深爱激情亚洲 | 国产黄在线看 | 人成午夜视频 | 六月色婷婷 | 天天操操操操操 | 国产精品激情 | 国产精品视频 | 天天天干天天天操 | 亚洲精品男女 | 99精品视频免费在线观看 | 高清av不卡 | 国内精品视频在线播放 | 波多野结衣精品在线 | 国产一区免费在线观看 | 成人国产精品一区 | 中文字幕乱码日本亚洲一区二区 | 天天干天天弄 | 99中文在线 | 五月婷丁香 | 日韩欧美一区二区三区视频 | 九九热免费精品视频 | av中文在线影视 | 国产最新在线视频 | 精品国产理论片 | 天天爱天天操天天射 | 三级在线视频观看 | 国内精品在线看 | 久久高清毛片 | 成人久久 | 国产免费观看久久黄 | 国产精品欧美一区二区三区不卡 | 精品国产乱码久久久久久三级人 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 亚洲日本一区二区在线 | 久草视频一区 | 91精品国产91久久久久福利 | 久久精品99北条麻妃 | 在线视频区| 久久精品爱爱视频 | 在线视频 你懂得 | 99热官网| 日韩成人在线免费观看 | 国产无遮挡又黄又爽在线观看 | 91精品视频在线 | 国产三级精品在线 | 亚洲精品99久久久久中文字幕 | 午夜色站| 中文日韩在线视频 | 蜜臀久久99精品久久久无需会员 | 九九精品在线观看 | 亚洲少妇天堂 | 国产69精品久久久久99 | 一区二区三区日韩在线观看 | 狠狠躁18三区二区一区ai明星 | 亚洲人天堂 | 丁香婷婷色综合亚洲电影 | 精品久久久久一区二区国产 | 日韩欧美电影在线 | 久久国产电影 | 91九色蝌蚪视频网站 | 黄色在线网站噜噜噜 | 在线视频日韩一区 | 色婷婷国产 | 激情五月婷婷综合网 | 8x成人在线| 九九热免费精品视频 | 久久免费视频这里只有精品 | 亚洲精品国偷拍自产在线观看 | 亚洲婷婷在线 | 成年人在线 | 午夜视频导航 | 国产国语在线 | 久久精品4 | 中文视频在线播放 | 国产又粗又长又硬免费视频 | 国产精品免费久久久久影院仙踪林 | 国产精品久久影院 | 91成人免费看 | 欧洲激情综合 | 玖草在线观看 | 免费看毛片在线 | 国产精品网在线观看 | 探花视频在线观看+在线播放 | 午夜电影 电影 | 91漂亮少妇露脸在线播放 | 色婷丁香| 久久国产剧场电影 | 欧美美女视频在线观看 | 在线视频91| 日本天天色 | 久久九精品 | 精品中文字幕在线播放 | 欧美成人在线免费观看 | 日韩精品一区二区在线观看视频 | 国产精品一级在线 | 亚洲成人av影片 | www.色五月.com | 伊人网av | 成人影音av | 久久精品影视 | 在线视频观看成人 | 国产在线 一区二区三区 | 久久精品aaa | 天天干天天想 | 亚洲h色精品 | 免费a视频在线观看 | 天天五月天色 | 区一区二区三区中文字幕 | 亚洲精品国精品久久99热一 | av电影在线观看完整版一区二区 | 国产午夜精品一区二区三区在线观看 | www亚洲国产 | 夜夜躁日日躁狠狠久久av | 黄色a一级片 | 国内精品小视频 | 天天综合网天天 | 天天天天天天天天操 | 久久久久久久久久久久影院 | 久久怡红院 | 亚洲精品国久久99热 | 99在线观看精品 | 中文字幕专区高清在线观看 | 97色资源 | 日本中文字幕在线免费观看 | 日韩有码第一页 | 久久女同性恋中文字幕 | 色噜噜色噜噜 | 国产欧美久久久精品影院 | 国产又粗又猛又黄又爽视频 | 国产精品一区二区久久久久 | 性色av一区二区三区在线观看 | 91成人免费电影 | 九九热在线视频免费观看 | 欧美在线观看视频一区二区 | 久久精品在线视频 | 日韩色爱| 成人精品久久久 | 黄色小说免费在线观看 | 欧美精品免费视频 | 亚洲妇女av | 国产又粗又硬又长又爽的视频 | 97国产电影 | 天天操狠狠操 | 久久亚洲精品国产亚洲老地址 | 色综合久久久久综合体 | 人人插人人费 | a天堂最新版中文在线地址 久久99久久精品国产 | 国产在线播放不卡 | 精品国产一区二区三区久久影院 | 五月天六月婷婷 | 狠狠操狠狠 | 黄色软件网站在线观看 | 麻豆国产露脸在线观看 | 日韩av一卡二卡三卡 | 91人人插 | 91禁在线看 | 日韩成人看片 | 成人av资源| 99精品在线播放 | 97超碰色 | 成人av免费在线播放 | 狠狠躁天天躁综合网 | 国产99久久久精品 | 天堂av观看| 国产成人免费精品 | 中文字幕在线电影 | 婷婷狠狠操 | 久久久黄色免费网站 | 久久99国产综合精品免费 | 国产在线精品国自产拍影院 | 婷婷日日 | 你操综合 | 在线观看中文 | 国产第一福利 | 99热官网 | 国产一区二区在线播放 | www.超碰| 91精品一区在线观看 | 国产精品久久久久婷婷 | 午夜精品久久久久久久99 | 人人舔人人插 | 久久国产精品99久久久久久丝袜 | 久久久久久毛片 | 久久久国际精品 | 国产精彩视频 | 免费av网址大全 | 91传媒激情理伦片 | 中文字幕婷婷 | 日韩理论在线观看 | 五月激情天 | 久久精品99久久久久久2456 | 成人aaa毛片| 在线亚洲成人 | 亚洲天堂网站视频 | 色视频网址 | 人人插人人爱 | av中文字幕免费在线观看 | 亚洲精选久久 | 国产成人福利片 | 欧美日韩免费在线观看视频 | 极品久久久久久久 | www九九热 | 免费福利影院 | 中文字幕在线国产精品 | 中文字幕视频观看 | 最新中文字幕在线资源 | 亚洲精品中文字幕视频 | 久久久久久久久久免费 | 亚洲精品视频二区 | 激情五月***国产精品 | 婷婷六月综合亚洲 | 亚洲日本va午夜在线影院 | 中文成人字幕 | 91在线区| 久久精品国产免费看久久精品 | 玖草影院 | 天天夜夜亚洲 | 中文字幕久久精品亚洲乱码 | 96在线| 黄色在线网站噜噜噜 | 丁香六月激情婷婷 | 成人h视频在线播放 | 三日本三级少妇三级99 | 久久精品久久精品久久39 | 欧美日bb| 99久久99视频只有精品 | 国产福利一区二区三区视频 | 欧美国产日韩激情 | 99re8这里有精品热视频免费 | 五月天中文字幕 | 中中文字幕av在线 | 亚洲精品免费在线播放 | 成人三级网站在线观看 | 狠狠色丁香婷婷综合 | 99视频精品免费视频 | 国产精品国产三级国产不产一地 | 夜夜操夜夜干 | 最新av网址大全 | 国产精品久久久久久久久久久免费看 | 欧美精品久久久久久久久久白贞 | 91天天操| 国产亚洲精品成人av久久ww | 久久免费国产视频 | 黄色软件大全网站 | 亚洲专区视频在线观看 | 一区二区三区在线免费观看视频 | 亚洲一区二区视频 | 日韩视频a | 超碰在线观看av.com | 99视频精品全部免费 在线 | 日韩一区二区三区不卡 | 超碰97人人射妻 | 麻豆播放 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 婷婷深爱激情 | 国产精品久久久久久久免费观看 | 福利视频午夜 | 超碰在线94 | 在线观看视频国产一区 | 天天天干夜夜夜操 | 久久精品中文字幕一区二区三区 | 国产精品乱码久久 | 香蕉视频网址 | 日韩精品免费专区 | 成人午夜性影院 | 欧美精品一区在线 | 免费av片在线 | 亚洲黄色在线 | 四虎成人精品永久免费av | 精品久久一区二区三区 | 在线亚洲高清视频 | 久久只精品99品免费久23小说 | 久久成人人人人精品欧 | 最新色视频 | www五月天婷婷 | 日韩av电影手机在线观看 | 波多野结衣视频一区 | 国产一区久久 | 亚洲激情 欧美激情 | 日韩视频免费观看高清完整版在线 | 天天操天天摸天天射 | 玖玖视频 | www91在线观看 | 成人午夜剧场在线观看 | 色偷偷男人的天堂av | 日韩 国产 | 亚洲国产精品久久 | 久久午夜影院 | 91视频在线免费看 | 婷婷激情网站 | 久久久久黄 | 日韩特级黄色片 | 91精品啪在线观看国产 | 久久人人爽人人 | 欧美一区成人 | 中文字幕日韩av | 日韩av有码在线 | 狠狠狠色丁香综合久久天下网 | 亚洲黄色app | 欧美精品九九99久久 | 免费在线观看成年人视频 | 日韩激情视频在线 | 亚洲高清激情 | 国产精品一区二区久久国产 | 日韩免费av网址 | 91精品国自产在线观看欧美 | 久久久不卡影院 | 亚洲成aⅴ人在线观看 | 久视频在线播放 | 欧美日在线 | 久久久午夜精品福利内容 | 狠狠躁天天躁 | 亚洲成aⅴ人在线观看 | 狠狠色丁香久久婷婷综合丁香 | 三级av在线播放 | 国产精品成人a免费观看 | 在线成人性视频 | 免费看的黄色小视频 | 天天色图| 欧美日韩视频在线观看免费 | 精品一区 精品二区 | 九九天堂 | 97超碰在线久草超碰在线观看 | 91在线免费观看网站 | 国产高清 不卡 | 免费在线观看污 | 毛片网站免费在线观看 | 日韩成人黄色av | 特级西西444www大精品视频免费看 | 一级特黄av | 欧美日在线 | 亚洲黄色一级大片 | 色开心| 九九热在线视频 | 日韩精品欧美一区 | 国产一级a毛片视频爆浆 | 国产涩涩在线观看 | 97人人澡人人添人人爽超碰 | 97av视频| 久久婷婷色 | av看片网 | 亚洲免费在线播放视频 | 精品欧美一区二区在线观看 | 友田真希av| 国产在线观看免费 | 国产精品国产三级国产aⅴ无密码 | 国产精品2018 | 黄色三级免费网址 | 狠狠色噜噜狠狠狠狠2022 | 免费看的黄色片 | 国产麻豆精品95视频 | 亚洲黄色三级 | 麻豆免费精品视频 | 亚洲一区网站 | 亚洲精品一区中文字幕乱码 | 日韩欧美精品一区二区三区经典 | 久影院| 亚洲黄色区| 一级成人免费视频 | 免费福利片2019潦草影视午夜 | 深爱激情亚洲 | 波多野结衣在线观看一区二区三区 | 免费在线观看成年人视频 | 国产精品久久久久永久免费观看 | 91成人精品国产刺激国语对白 | 亚洲三级精品 | 欧美精品久久久久久久久久丰满 | 免费视频一区二区 | 久久国产精品二国产精品中国洋人 | 日韩理论在线 | 成人播放器 | 97视频在线观看免费 | 日韩欧美综合在线视频 | 欧美一区二视频在线免费观看 | 亚洲成人免费在线 | 久久久久国产精品www | 极品嫩模被强到高潮呻吟91 | 国产精品福利在线播放 | 黄色资源在线观看 | 四虎永久免费在线观看 | 国产在线小视频 | 天堂av最新网址 | 成年人免费av | av大全在线观看 | 超碰97人人在线 | 91精品视频在线免费观看 | 国产午夜精品免费一区二区三区视频 | 久草精品视频在线看网站免费 | 国产又粗又猛又黄视频 | 亚洲一区二区三区四区在线视频 | av资源免费在线观看 | 久热色超碰 | 国产精品免费人成网站 | 久久香蕉一区 | 九九99视频 | 久久成人亚洲欧美电影 | 国产精品爽爽久久久久久蜜臀 | 99精品视频在线观看 | 中文字幕资源网在线观看 | 欧美日韩亚洲国产一区 | 99精品国产免费久久久久久下载 | 日韩免 | 国产成人黄色 | 久久影院精品 | 91丨九色丨国产丨porny精品 | 在线免费黄色av | 国产美女免费观看 | 久久婷婷激情 | 久久精品香蕉视频 | 久久国产精品视频 | www.久久免费| 久久久免费av | 久久这里只有精品首页 | 黄污网站在线观看 | 在线观看国产日韩欧美 | 国产成人福利在线 | 中文字幕免费一区二区 | 中文字幕在线人 | 正在播放国产一区二区 | 欧洲亚洲女同hd | 国产一区二区不卡在线 | 欧美日韩中文字幕在线视频 | 国产在线播放一区 | 午夜影院日本 | 美女国产免费 | www.色国产| 在线激情影院一区 | 日日日操 | 国产在线精品一区二区三区 | 日本精品一区二区三区在线播放视频 | 亚洲精品视频免费在线观看 | 日韩精品高清视频 | 九九九热精品免费视频观看 | 欧美日韩国语 | 成年人免费在线观看网站 | 97香蕉久久超级碰碰高清版 | 午夜精品一区二区三区免费视频 | 国产精品网红直播 | 国产精品第二十页 | 伊人视频| 97电影院网| 国产精品99蜜臀久久不卡二区 | 夜夜躁狠狠躁日日躁 | 日本黄色免费电影网站 | 国产精品久久久久久久久久久不卡 | 91久久精品一区 | 三级av免费 | 免费视频黄色 | 久久a免费视频 | 岛国av在线免费 | 久久久久久久久久国产精品 | 精品视频专区 | 国内外成人免费在线视频 | 天天干中文字幕 | 亚洲综合射 | 四虎影视精品成人 | 久久精品视频2 | 国产伦理精品一区二区 | 手机色在线 | 久久国产福利 | 99精品福利| av一级免费| 99久高清在线观看视频99精品热在线观看视频 | 国产你懂的在线 | 在线免费观看黄色小说 | 久久精品高清 | 五月开心色 | 中文字幕精 | 国产精品久久久久久久久久久久午夜片 | 182午夜在线观看 | 黄色av成人在线观看 | 91亚色视频在线观看 | 婷婷激情小说网 | 中文字幕精品一区久久久久 | 国产品久精国精产拍 | 国产青春久久久国产毛片 | 麻花传媒mv免费观看 | 在线看国产| 久久成人18免费网站 | 四虎国产精品成人免费影视 | 91精品国产一区二区在线观看 | 亚洲国产影院 | 激情欧美一区二区免费视频 | 国产又黄又爽无遮挡 | 天天干天天干天天色 | 国产成人久| 99国产精品久久久久久久久久 | 免费观看全黄做爰大片国产 | 国产精品久久99 | 国产五月婷 | 97国产超碰 | 在线日本看片免费人成视久网 | 国产一区二区在线免费播放 | 日韩理论在线观看 | 免费看十八岁美女 | 在线观看av国产 | 中文字幕第一页在线播放 | 又黄又色又爽 | 九九交易行官网 | 一区 二区电影免费在线观看 | 看片的网址 | 天天操天天舔天天干 | www.国产在线视频 | 6080yy精品一区二区三区 | 国产小视频在线免费观看视频 | 免费在线观看毛片网站 | 国产原厂视频在线观看 | 精品高清美女精品国产区 | 九九热在线视频免费观看 | 日韩首页 | 国产在线a视频 | 99国产精品一区二区 | 免费电影播放 | 五月婷激情 | 免费在线成人av电影 | 色多多视频在线观看 | 亚洲精品国产精品国产 | 国产精品久久久久久爽爽爽 | 欧美一区二区三区在线 | 国产一级三级 | 亚洲精品动漫久久久久 | av国产网站| 久草久热| 欧美精品在线视频 | 亚洲黄色一级电影 | 精品亚洲va在线va天堂资源站 | 久久系列 | 91视频免费| 午夜精品成人一区二区三区 | 天天干人人干 | 在线精品视频在线观看高清 | 人人狠狠综合久久亚洲婷 | 久久在线精品视频 |