黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

.Net core 的熱插拔機制的深入探索及卸載問題求救指南

瀏覽:268日期:2022-06-04 16:22:06

一.依賴文件*.deps.json的讀取.

依賴文件內容如下.一般位于編譯生成目錄中

{
 "runtimeTarget": {
 "name": ".NETCoreApp,Version=v3.1",
 "signature": ""
 },
 "compilationOptions": {},
 "targets": {
 ".NETCoreApp,Version=v3.1": {
 "PluginSample/1.0.0": {
 "dependencies": {
 "Microsoft.Extensions.Hosting.Abstractions": "5.0.0-rc.2.20475.5"
 },
 "runtime": {
 "PluginSample.dll": {}
 }
 },
 "Microsoft.Extensions.Configuration.Abstractions/5.0.0-rc.2.20475.5": {
 "dependencies": {
 "Microsoft.Extensions.Primitives": "5.0.0-rc.2.20475.5"
 },
 "runtime": {
 "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
 "assemblyVersion": "5.0.0.0",
 "fileVersion": "5.0.20.47505"
 }
 }
 ...

使用DependencyContextJsonReader加載依賴配置文件源碼查看

using (var dependencyFileStream = File.OpenRead("Sample.deps.json"))
{
 using (DependencyContextJsonReader dependencyContextJsonReader = new DependencyContextJsonReader())
 {
 //得到對應的實體文件
 var dependencyContext = 
 dependencyContextJsonReader.Read(dependencyFileStream);
 //定義的運行環境,沒有,則為全平臺運行.
 string currentRuntimeIdentifier= dependencyContext.Target.Runtime;
 //運行時所需要的dll文件
 var assemblyNames= dependencyContext.RuntimeLibraries;
 }
}

二.Net core多平臺下RID(RuntimeIdentifier)的定義.

安裝 Microsoft.NETCore.Platforms包,并找到runtime.json運行時定義文件.

{
 "runtimes": {
 "win-arm64": {
 "#import": [
 "win"
 ]
 },
 "win-arm64-aot": {
 "#import": [
 "win-aot",
 "win-arm64"
 ]
 },
 "win-x64": {
 "#import": [
 "win"
 ]
 },
 "win-x64-aot": {
 "#import": [
 "win-aot",
 "win-x64"
 ]
 },
}

NET Core RID依賴關系示意圖

win7-x64 win7-x86
 | \ / |
 | win7 |
 | | |
win-x64 | win-x86
 \ | /
 win
 |
 any

.Net core常用發布平臺RID如下

  • windows (win)

win-x64
win-x32
win-arm

  • macos (osx)

osx-x64

  • linux (linux)

linux-x64
linux-arm

1. .net core的runtime.json文件由微軟提供:查看runtime.json.

2. runtime.json的runeims節點下,定義了所有的RID字典表以及RID樹關系.

3. 根據*.deps.json依賴文件中的程序集定義RID標識,就可以判斷出依賴文件中指向的dll是否能在某一平臺運行.

4. 當程序發布為兼容模式時,我們出可以使用runtime.json文件選擇性的加載平臺dll并運行.

三.AssemblyLoadContext的加載原理

public class PluginLoadContext : AssemblyLoadContext
{
 private AssemblyDependencyResolver _resolver;
 public PluginLoadContext(string pluginFolder, params string[] commonAssemblyFolders) : base(isCollectible: true)
 {
 this.ResolvingUnmanagedDll += PluginLoadContext_ResolvingUnmanagedDll;
 this.Resolving += PluginLoadContext_Resolving;
 //第1步,解析des.json文件,并調用Load和LoadUnmanagedDll函數
 _resolver = new AssemblyDependencyResolver(pluginFolder);
 //第6步,通過第4,5步,解析仍失敗的dll會自動嘗試調用主程序中的程序集,
 //如果失敗,則直接拋出程序集無法加載的錯誤
 }
 private Assembly PluginLoadContext_Resolving(AssemblyLoadContext assemblyLoadContext, AssemblyName assemblyName)
 {
 //第4步,Load函數加載程序集失敗后,執行的事件
 }
 private IntPtr PluginLoadContext_ResolvingUnmanagedDll(Assembly assembly, string unmanagedDllName)
 {
 //第5步,LoadUnmanagedDll加載native dll失敗后執行的事件
 }
 protected override Assembly Load(AssemblyName assemblyName)
 {
 //第2步,先執行程序集的加載函數
 }
 protected override IntPtr LoadUnmanagedDll(string unmanagedDllName)
 {
 //第3步,先執行的native dll加載邏輯
 }
}

微軟官方示例代碼如下:示例具體內容

class PluginLoadContext : AssemblyLoadContext
{
 private AssemblyDependencyResolver _resolver;

 public PluginLoadContext(string pluginPath)
 {
 _resolver = new AssemblyDependencyResolver(pluginPath);
 }

 protected override Assembly Load(AssemblyName assemblyName)
 {
 string assemblyPath = _resolver.ResolveAssemblyToPath(assemblyName);
 if (assemblyPath != null)
 {
 //加載程序集
 return LoadFromAssemblyPath(assemblyPath);
 }
 //返回null,則直接加載主項目程序集
 return null;
 }

 protected override IntPtr LoadUnmanagedDll(string unmanagedDllName)
 {
 string libraryPath = _resolver.ResolveUnmanagedDllToPath(unmanagedDllName);
 if (libraryPath != null)
 {
 //加載native dll文件
 return LoadUnmanagedDllFromPath(libraryPath);
 }
 //返回IntPtr.Zero,即null指針.將會加載主項中runtimes文件夾下的dll
 return IntPtr.Zero;
 }
}

1. 官方這個示例是有問題的.LoadFromAssemblyPath()函數有bug,
該函數并不會加載依賴的程序集.正確用法是LoadFormStream()

2. Load和LoadUnmanagedDll函數實際上是給開發者手動加載程序集使用的,
自動加載應放到Resolving和ResolvingUnmanagedDll事件中
原因是,這樣的加載順序不會導致項目的程序集覆蓋插件的程序集,造成程序集加載失敗.

3. 手動加載時可以根據deps.json文件定義的runtime加載當前平臺下的unmanaged dll文件.

這些平臺相關的dll文件,一般位于發布目錄中的runtimes文件夾中.

四.插件項目一定要和主項目使用同樣的運行時.

  1. 如果主項目是.net core 3.1,插件項目不能選擇.net core 2.0等,甚至不能選擇.net standard庫
  2. 否則會出現不可預知的問題.
  3. 插件是.net standard需要修改項目文件,<TargetFrameworks>netstandard;netcoreapp3.1</TargetFrameworks>
  4. 這樣就可以發布為.net core項目.
  5. 若主項目中的nuget包不適合當前平臺,則會報Not Support Platform的異常.這時如果主項目是在windows上, 就需要把項目發布目標設置為win-x64.這屬于nuget包依賴關系存在錯誤描述.

五.AssemblyLoadContext.UnLoad()并不會拋出任何異常.

當你調用AssemblyLoadContext.UnLoad()卸載完插件以為相關程序集已經釋放,那你可能就錯了.官方文檔表明卸載執行失敗會拋出InvalidOperationException,不允許卸載官方說明。
但實際測試中,卸載失敗,但并未報錯.

六.反射程序集相關變量的定義為何阻止插件程序集卸載?

插件

namespace PluginSample
{
 public class SimpleService
 {
 public void Run(string name)
 {
 Console.WriteLine($"Hello World!");
 }
 }
}

加載插件

namespace Test
{
 public class PluginLoader
 {
 pubilc AssemblyLoadContext assemblyLoadContext;
 public Assembly assembly;
 public Type type;
 public MethodInfo method;
 public void Load()
 {
 assemblyLoadContext = new PluginLoadContext("插件文件夾");
 assembly = alc.Load(new AssemblyName("PluginSample"));
 type = assembly.GetType("PluginSample.SimpleService");
 method=type.GetMethod()
 }
 }
}

1. 在主項目程序中.AssemblyLoadContext,Assembly,Type,MethodInfo等不能直接定義在任何類中.
否則在插件卸載時會失敗.當時為了測試是否卸載成功,采用手動加載,執行,卸載了1000次,
發現內存一直上漲,則表示卸載失敗.

2. 參照官方文檔后了解了WeakReferece類.使用該類與AssemblyLoadContext關聯,當手動GC清理時,
AssemblyLoadContext就會變為null值,如果沒有變為null值則表示卸載失敗.

3. 使用WeakReference關聯AssemblyLoadContext并判斷是否卸載成功

public void Load(out WeakReference weakReference)
 {
 var assemblyLoadContext = new PluginLoadContext("插件文件夾");
 weakReference = new WeakReference(pluginLoadContext, true);
 assemblyLoadContext.UnLoad();
 }
 public void Check()
 {
 WeakReference weakReference=null;
 Load(out weakReference);
 //一般第二次,IsAlive就會變為False,即AssemblyLoadContext卸載失敗.
 for (int i = 0; weakReference.IsAlive && (i < 10); i++)
 {
 GC.Collect();
 GC.WaitForPendingFinalizers();
 }
 }

4. 為了解決以上問題.可以把需要的變量放到靜態字典中.在Unload之前把對應的Key值刪除掉,即可.

七.程序集的異步函數執行為何會阻止插件程序的卸載?

public class SimpleService
{
 //同步執行,插件卸載成功
 public void Run(string name)
 {
 Console.WriteLine($"Hello {name}!");
 }
 //異步執行,卸載成功
 public Task RunAsync(string name)
 {
 Console.WriteLine($"Hello {name}!");
 return Task.CompletedTask;
 }
 //異步執行,卸載成功
 public Task RunTask(string name)
 {
 return Task.Run(() => {
 Console.WriteLine($"Hello {name}!");
 });
 }
 //異步執行,卸載成功
 public Task RunWaitTask(string name)
 {
 return Task.Run( async ()=> {
 while (true)
 {
 if (CancellationTokenSource.IsCancellationRequested)
 {
  break;
 }
 await Task.Delay(1000);
 Console.WriteLine($"Hello {name}!");
 }
 });
 }
 //異步執行,卸載成功
 public Task RunWaitTaskForCancel(string name, CancellationToken cancellation)
 {
 return Task.Run(async () => {
 while (true)
 {
 if (cancellation.IsCancellationRequested)
 {
  break;
 }
 await Task.Delay(1000);
 Console.WriteLine($"Hello {name}!");
 }
 });
 }
 //異步執行,卸載失敗
 public async Task RunWait(string name)
 {
 while (true)
 {
 if (CancellationTokenSource.IsCancellationRequested)
 {
 break;
 }
 await Task.Delay(1000);
 Console.WriteLine($"Hello {name}!");
 }

 }
 //異步執行,卸載失敗
 public Task RunWaitNewTask(string name)
 {
 return Task.Factory.StartNew(async ()=> {
 while (true)
 {
 if (CancellationTokenSource.IsCancellationRequested)
 {
  break;
 }
 await Task.Delay(1000);
 Console.WriteLine($"Hello {name}!");
 }
 },TaskCreationOptions.DenyChildAttach);
 }
}

1. 以上測試可以看出,如果插件調用的是一個常規帶wait的async異步函數,則插件一定會卸載失敗.
原因推測是返回的結果是編譯器自動生成的狀態機實現的,而狀態機是在插件中定義的.

2. 如果在插件中使用Task.Factory.StartNew函數也會調用失敗,原因不明.
官方文檔說和Task.Run函數是Task.Factory.StartNew的簡單形式,只是參數不同.官方說明
按照官方提供的默認參數測試,卸載仍然失敗.說明這兩種方式實現底層應該是不同的.

八.正確卸載插件的方式

  • 任何與插件相關的非局部變量,不能定義在類中,如果想全局調用只能放到Dictionary中,
  • 在調用插件卸載之前,刪除相關鍵值.
  • 任何通過插件返回的變量,不能為插件內定義的變量類型.盡量使用json傳遞參數.
  • 插件入口函數盡量使用同步函數,如果為異步函數,只能使用Task.Run方式裹所有邏輯.
  • 如果有任何疑問或不同意見,請賜教.

NFinal2開源框架。https://git.oschina.net/LucasDot/NFinal2/tree/master

到此這篇關于.Net core 的熱插拔機制的深入探索及卸載問題求救指南的文章就介紹到這了,更多相關.Net core熱插拔機制內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: ASP
相關文章:
主站蜘蛛池模板: 日韩超碰人人爽人人做人人添 | 免费一级网站 | 欧美大肚乱孕交hd孕妇 | 日本三级香港三级人妇99 | 国产精品成人免费一区二区视频 | 久久夜夜操妹子 | 国产三级农民怕怕乡下姝4 国产三级欧美三级 | 狠狠干免费视频 | 久久婷婷伊人 | 日韩午夜在线视频 | 国产亚洲成av人片在线观黄桃 | 亚洲欧洲成人精品香蕉网 | 天堂综合久久 | 国产午夜视频在线观看 | 欧美日韩在线视频一区二区 | 国产精品丝袜www爽爽爽 | 日韩av黄色片 | 黑人精品一区二区三区 | 国产精品久久久久久久久鸭 | 国产精品人成在线播放新网站 | 国产激情久久久久久 | 在线蜜桃 | 久久人人爽人人爽人人片av麻烦 | 欧美偷拍第一页 | 国产精品欧美一区二区三区不卡 | 久久99精品国产麻豆蜜芽 | 久久人妻内射无码一区三区 | 免费在线播放黄色片 | 特级黄色毛片视频片子 | 贱奴的sm(高h调教) | 免费一级肉体全黄毛片 | 今夜无人入睡在线观看 | 紧身裙女教师三上悠亚红杏 | 又黄又爽又猛1000部a片 | 国产 国语对白 露脸 | 丰腴饱满的极品熟妇 | 女同久久另类99精品国产 | 亚洲天堂视频在线观看 | 加勒比日本在线 | 亚洲深夜福利视频 | 免费毛片一级 | 亚洲欧美日韩在线看 | 久久久久69| 国产精品视频久久久 | 天堂av手机版 | 黄色动漫在线免费观看 | 亚洲色一区二区三区四区 | 成人免费大全 | 免费黄色网址观看 | 久久久久久国产精品免费免费男同 | 6699嫩草久久久精品影院竹菊 | 午夜毛片视频 | 欧美 日韩 国产 成人 在线观看 | 草综合| 成人免费视频观看视频 | 精品国产乱码久久久久久绯色 | 久久一卡二卡三卡四卡 | 香港三级网站 | porn麻豆 | 久久一区二区三 | 中文字幕在线播放一区二区 | 亚洲男女内射在线播放 | 成人福利视频网站 | 国产真人性做爰久久网站 | 欧美人与拘性视交免费看 | 亚洲一区h| 国产无人区码熟妇毛片多 | 99精品视频99 | 国产精久久一区二区三区 | 日本加勒比一区二区 | 日韩av在线观看免费 | 国产人免费人成免费视频喷水 | 中文字幕无码一区二区免费 | 国产黑色丝袜在线视频 | 久久精品aⅴ无码中文字字幕 | 在线精品国产一区二区三区 | 亚洲免费在线观看av | 超薄肉色丝袜一二三四区 | 探花视频在线免费观看 | 欧美最猛黑人xxxx黑人表情 | aaaa毛片 | 中国洗澡偷拍在线播放 | 人妻熟妇女的欲乱系列 | 中文字幕超清在线观看 | 日日摸夜夜添夜夜添欧美毛片小说 | 99草草国产熟女视频在线 | 国产女人与拘做受视频9 | 久久久久麻豆v国产精华液好用吗 | 亚洲黄色图片网站 | 俄罗斯伦理精品a级 | 国产女18毛片多18精品 | 伊人久久大香线蕉av色婷婷色 | 九九九伊在人线综合2023 | 91亚洲国产成人久久精品麻豆 | 欧美三区在线观看 | 久久久久99精品久久久久 | 欧美做受高潮中文字幕 | 超碰网站在线 | 九九九精品视频 | 在线视频资源 | 99热这里只有精品最新地址获取 | 99国产一区二区 | 日日躁夜夜摸月月添添添 | 成人在线免费 | 亚洲国产精品一区二区尤物区 | 欧美日韩免费一区二区 | 绯色av中文字幕一区三区 | av亚洲产国偷v产偷v自拍 | 精品国产一区二区三区在线观看 | 免费看一级 | 7777久久亚洲中文字幕 | 久久a毛片| 国色天香婷婷综合网 | 最新黄色在线 | 青青青手机频在线观看 | 国产欧美日韩精品a在线观看 | 综合久久影院 | 欧美老妇bbwhd | 国产喂奶挤奶一区二区三区 | 51免费动漫网永久入口 | 日韩精品四区 | 国产女人高潮抽搐喷水免费视频 | 亚洲国产第一区 | 黄片a级毛片| 国产一区2区 | 免费一级全黄裸片 | 哪里有毛片看 | 毛片少妇 | 99精产国品产在线观看 | 久久久久久精 | 真人啪啪高潮喷水呻吟无遮挡 | 日韩av中文字幕在线 | 2019天天干夜夜操 | 国产黄色三级 | 野花成人免费视频 | 性视频网站免费 | 99超碰在线观看 | 国产精品久久久久久久久夜色 | 91麻豆精品国产91久久久点播时间 | 国产卡一卡二 | 久久av中文字幕 | 豆麻视频在线免费观看 | 一区二区三区内射美女毛片 | 小荡货奶真大水多好紧视频 | 国产精品丝袜久久久久久久不卡 | 女性无套免费网站在线看 | 国产人澡人澡澡澡人碰视 | 亚洲天堂aaa| 大伊人狠狠躁夜夜躁av一区 | 午夜伊人网 | 制服中文字幕 | 香港三级在线视频 | eeuss亚洲精品久久 | 国产又粗又爽又黄 | 日韩欧美一二三 | 日本视频高清一区二区三区 | 日本国产一区二区三区在线观看 | 日本免费网站视频 | 亚洲欧美日韩精品久久亚洲区 | 日本免费一区二区三区在线播放 | 久久久做 | 九九re6热在线视频精品66 | 直接看av的网站 | 国产欧美在线播放 | 欧美黑吊大战白妞 | 欧美日韩亚洲精品瑜伽裤 | 操bbbbb| 天天舔天天射 | 午夜精品一区二区三区免费 | 色中文字幕在线观看 | 欧美xxxx在线 | 国产免费片 | 国产精品久久久久桃色tv | 久久久久亚洲精品中文字幕 | 爱情岛论坛国产首页 | 日本欧美在线视频 | 中文字幕第一 | 丁香婷婷在线观看 | 综合色导航 | 天堂精品一区二区三区 | 免费看网站在线观 | 欧美精品人人做人人爱视频 | 杨贵妃情欲艳谭三级 | 欧美a在线看 | 国产真实乱人偷精品 | 亚洲老妇色熟女老太 | 999精品嫩草久久久久久99 | 91精品国产乱码久久蜜臀 | 大陆极品少妇内射aaaaaa | 免费看涩涩视频软件 | 日本一级二级视频 | 成人国产一区 | 久久久国产精华液999999 | 天天操天天操天天 | 国产精品一卡二卡 | 午夜av在线 | 亚洲欧美另类国产 | 高柳家动漫在线观看 | 久久成人在线 | 日韩一级欧美一级 | 在熟睡夫面前侵犯我在线播放 | 欧美激情videos hd| 久久精品男人的天堂 | 国产精品爽爽久久久久久 | 鲁丝一区二区三区免费 | 国产精品久久久久久亚洲影视内衣 | 亚洲色成人中文字幕网站 | 99精品国产99久久久久久97 | 三级在线国产 | 福利片网址 | 久久永久免费 | 女人色极品影院 | 欧美精品国产综合久久 | 国产精品久久久久久久久久辛辛 | 日本人裸体艺术aaaaaa | 爱爱视频一区 | 久久少妇av | 狠狠狠色丁香婷婷综合久久88 | 深夜福利网站在线 | 人妻少妇精品一区二区三区 | 精品国产成人亚洲午夜福利 | 国产农村一国产农村无码毛片 | 日本黄色免费网址 | 免费看的黄色网 | 全免费又大粗又黄又爽少妇片 | 亚洲综合国产精品 | 91国偷自产一区二区三区 | 91狠狠综合| 日批视频免费播放 | 日韩在线视频免费播放 | 一二三区视频 | 无套内射蜜桃小视频 | 97福利网 | 国产精品爽爽久久久久久蜜臀 | 欧美性猛交xxxx免费看蜜桃 | 亚洲视频456 | 美女内射视频www网站午夜 | 日韩放荡少妇无码视频 | 九九综合久久 | 亚洲三级在线视频 | 污污网站在线 | 嘿嘿射在线观看 | 欧美黑人激情性久久 | 国产尤物精品自在拍视频首页 | 国产精品久久久爽爽爽麻豆色哟哟 | 岛国av不卡| 亚洲午夜无码久久 | 国产精品女主播一区二区三区 | 免费小视频在线观看 | 亚洲最大成人综合网 | blacked蜜桃精品一区 | 亚洲男同视频网站 | www日本在线观看 | 欧美日韩成人在线 | 国产又黄又猛又粗又爽视频 | 成人午夜在线影院 | 国产在线精品一区二区高清不卡 | 国产精品乱码一区二区视频 | 欧美在线免费观看视频 | 欧美午夜一区二区 | 午夜成人1000部免费视频 | 亚洲一区二区久久久 | 丝袜一区二区三区 | 女人色偷偷aa久久天堂 | 国产乱大交 | 朝鲜一级特黄真人毛片 | 福利网站在线观看 | 性做久久久久久免费观看欧美 | 久久久精品一区 | 玩弄少妇人妻 | 综合久久激情 | 性盈盈影院中文字幕 | 五月天六月婷 | 亚洲熟妇自偷自拍另欧美 | 成年人在线播放视频 | 色视频欧美一区二区三区 | 成人午夜影院 | 快色av| 国产精品无码制服丝袜 | 久草视频污 | 成人欧美一区二区三区在线观看 | 日韩av在线免费观看 | 亚洲性xxx | 精品人妻系列无码专区 | 亚洲色图首页 | 九色在线视频 | 人妻系列无码专区无码中出 | 6080毛片 | 色婷婷香蕉在线一区二区 | 中文字幕视频一区 | 国产精品久久久久久久久久妞妞 | 超黄网站在线观看 | 小鲜肉自慰网站 | 高清一区二区三区日本久 | 久久超碰99 | 精品国产乱码久久久久久郑州公司 | 国产伦理无套进入 | 992tv人人网tv亚洲精品 | 岛国av资源 | 黑料av在线 | 懂色av蜜臀av粉嫩av喷吹 | 亚洲狠狠婷婷综合久久 | 香港三级午夜理伦三级 | 女女女女bbbbbb毛片在线 | 国产精品无码无在线观看 | 久久人搡人人玩人妻精品首页 | 手机看片日韩日韩 | 亚洲 欧美 制服 中文字幕 | 精品国产第一区二区三区的特点 | 欧洲美女黑人粗性暴交视频 | 成人无码www在线看免费 | 自拍偷自拍亚洲精品播放 | 比色毛片 | 日本www一道久久久免费榴莲 | av全黄| 色片网站在线观看 | 精品亚洲欧美无人区乱码 | 黄色网在线免费观看 | 岛国片在线播放97 | av大西瓜| 爱丝aiss无内高清丝袜视频 | 老女人伦理中文字幕 | 极品美女囗交 | 国产精品成人久久 | 中文字幕乱码人妻一区二区三区 | 性欧美一区二区三区 | 国产精品美女www爽爽爽视频 | 蜜臀av夜夜澡人人爽人人 | 日本www一道久久久免费榴莲 | 黄色a级大片 | 日日噜噜夜夜狠狠久久蜜桃 | 日本一区二区三区免费视频 | 中文字幕人妻无码系列第三区 | 精品免费视频一区二区 | 一区二区在线免费 | 欧美黑人欧美精品刺激 | 97精品久久| 97色伦97色伦国产欧美空 | 中文在线免费观看 | 国精产品一品二品国精品69xx | 国产无在线观看 | xxxxx欧美妇科医生检查 | 午夜一二区 | 亚洲精品视频网 | 91在线看黄| 国产淫语对白粗口video | 97超碰在线免费 | 99er热精品视频国产 | 人妻va精品va欧美va | 在线观看黄色片 | 日本少妇高潮喷水xxxxxxx | 簧片av | 91视频 - 88av | 天天摸天天干天天操 | 日本人与黑人做爰视频网站 | 青青国产精品视频 | 欧美粗暴jizz性欧美20 | 爱爱视频网站免费 | 欧美吻胸吃奶大尺度 | 台湾十八成人网 | 久久精品www人人爽人人 | 欧美性大战久久久久xxx | 久久本道综合久久伊人 | 亚洲桃色综合影院 | 免费人成网站在线观看欧美高清 | 日韩欧美的一区二区 | 成人免费视频一区二区三区 | 97性无码区免费 | 日韩系列在线 | 欧美日韩视频网站 | 日本少妇免费视频一三区 | 国产国产成人免费c片 | 国产精品美女久久久久久久 | 91精品国产综合久久久久久蜜臀 | 五月激情视频 | 成年男人裸j网站 | 波多野结衣av一区二区全免费观看 | 日韩在线一二三 | 日本不卡高清一区二区三区 | 国产熟睡乱子伦午夜视频 | 简单av在线 | 久久久精品久久日韩一区综合 | 色吧综合 | a在线观看视频 | 欧美精品久久久久久久久 | 天堂亚洲网| 国产真实乱对白精彩久久老熟妇女 | 天天躁日日躁狠狠躁av | 国产伦精品一区二区三区照片91 | 亚洲精品乱码久久久久红杏 | 亚洲精品久久久中文字幕 | 韩国三级hd中文字幕 | 在线超碰 | 色屁屁草草影院ccyycom | a级黄色片视频 | 久久久国产网站 | 亚洲怡红院av | 波多野结衣中文字幕一区二区三区 | 理论片高清免费理论片毛毛片 | 国产精品色哟哟 | 我要看一级片 | 国产精品久久久久久免费 | 精品视频免费观看 | 欧美日韩国产一区二区三区不卡 | 亚洲日韩中文字幕无码一区 | 99久久婷婷国产综精品喷水 | 日本va欧美va欧美va精品 | 怡红院a∨人人爰人人爽 | 成人av资源在线 | 午夜黄色网址 | 精品欧美色视频网站在线观看 | 欧美三级午夜理伦三级 | 久久av一区二区 | 成人欧美一区二区三区黑人 | 欧美1234区| 嫩草精品福利视频在线观看 | 免费av中文字幕 | 韩国主播青草55部完整 | 一区视频免费观看 | 国精产品国语对白东北 | 亚洲欧美久久久 | 午夜国产免费 | 日韩中文一区二区 | 无毛av| 少妇性i交大片免费 | 亚洲一区二区三区免费视频 | 国产a国产片国产 | 国产又粗又长又硬免费视频 | 伊人久久大香线蕉综合5g | 无码人妻精品一区二区三区久久久 | 狂猛欧美激情性xxxx大豆行情 | 国产精品高潮呻吟久久久 | 在线不卡欧美 | 在线观看中文字幕2021 | 日韩精品一区二区在线观看 | а√天堂资源国产精品 | 久久亚洲经典 | av潮喷大喷水系列无码 | 国产露脸ⅹxxxⅹ高清hd | 91传媒网站| 天天干,天天操,天天射 | 国产成人精品av久久 | 极品少妇嫩玉门av | 亚洲欧美激情精品一区二区 | 欧美日本另类 | 尤物99国产成人精品视频 | 13女裸体慰在线观看 | 国产成人免费爽爽爽视频 | 思思在线视频 | 国产精品久久久久久妇女6080 | 成人性生交视频免费看 | 成人三级晚上看 | 国产精品久久久久久久岛一本蜜乳 | youjizzcom在线播放 | 朝鲜一级特黄真人毛片 | 日日天干夜夜狠狠爱 | 门国产乱子视频观看 | 三浦理惠子av在线播放 | www.日韩av.com| 国产精品国产三级国产aⅴ 国产精品国产三级国产aⅴ9色 | 亚洲一区精品在线 | 国产制服av | 色综合另类小说图片区 | 国产资源在线免费观看 | 国产猛男猛女超爽免费视频 | 国产精品一区二区香蕉 | 中文字幕无码av激情不卡 | 性中国xxx极品hd | 色视频国产 | 日韩成人在线网站 | 一级片久久久 | 浪潮av网站 | 国产精品久久久久久久久久久久午夜 | 韩国毛片网站 | 欧美三级a做爰在线观看 | 91资源在线视频 | 国产农村妇女高潮大叫 | 日韩在线观看视频一区二区 | 一级片免费观看 | 亚洲我射av | 国产永久免费视频 | 蜜桃久久精品 | 日韩av一二三区 | 日韩精品久久久久久久白丝 | 免费无码又爽又黄又刺激网站 | 国产特黄级aaaaa片免 | 久热中文字幕无码视频 | 日韩中文字幕视频 | 在线观看av黄色 | 538精品在线视频 | 亚洲第一偷拍 | www.夜夜骑| 精品成人免费视频 | 国产麻豆剧果冻传媒白晶晶 | 国产特黄特色大片免费视频 | 国产在线网站 | 成人性生交大片免费看冫视频 | 亚洲成人在线播放视频 | 国产欧美日韩视频在线 | 性a视频| 亚洲一区在线观看免费 | 国产黄a三级三级三级老年人 | 美女穴穴 | 亚洲视频一区二区 | 在线观看www | 六月婷婷综合 | xxxx黄色| 中文字幕精品一区 | 亚洲天堂一级片 | 国产探花视频在线观看 | 中文字幕日韩在线观看 | 凹凸精品一区二区三区 | 后入到高潮免费观看 | 亚洲的天堂av无码 | 黑人巨茎美女高潮视频 | 中文字幕亚洲一区二区va在线 | 免费av手机在线观看 | 国内精品久久久久影视老司机 | 三级欧美日韩 | 18禁真人抽搐一进一出在线 | 少妇高潮惨叫久久麻豆传 | 三攻一受h啪肉np文 三级av毛片 | 国产一级特黄,真人毛片 | 亚洲成人aaa| 91热热| 国内自拍xxxx18 | 97在线免费观看 | 国产黄色一级网站 | 无码人妻精品一区二区三区免费 | 欧美香蕉视频 | 日本一区二区视频在线 | 国产精品女人特黄av片 | 精品久久久久久久久久久久久久 | 欧美日韩一级黄色片 | 人禽20z0性伦 | 蜜桃av噜噜一区二区三区 | 久久综合久久综合九色 | 一个人看的视频在线观看www | 日本肥老妇色xxxxx日本老妇 | 日日摸夜夜摸狠狠摸婷婷 | 永久免费未满 | 精品欧美久久久 | 国产传媒毛片精品视频第一次 | 欧美性黑人极品hd | 欧美大片 - 8mav | 丰满少妇大力进入av亚洲 | 中文字幕人成无码人妻 | 国产精品av久久久久久网址 | 久久视精品 | 精品在线观看一区 | 91亚洲欧美中文精品按摩 | 国产精品久久久久亚洲影视 | 色婷婷亚洲综合 | 色网站在线免费观看 | 国产精品爽爽久久久久久竹菊 | 免费的黄色av | 国产亚洲成av人片在线观看下载 | 国产乱码精品一区二三赶尸艳谈 | 在线观看成人免费视频 | 日韩一区二区三区在线视频 | 国产精品久久久久久久久夜色 | 又粗又黑又大的吊av | 国产超91| 在线播放无码高潮的视频 | 96福利视频| 人人爽久久涩噜噜噜av | 中国一区二区三区 | 美女隐私免费观看视频 | 成人在线黄色 | 久久精品国产99久久6 | 日韩电影一区二区三区 | 亚洲自偷自拍另类第1页 | 久久久久北条麻妃免费看 | 妺妺窝人体色www聚色窝 | 香港三级午夜理伦三级 | 国产igao为爱做激情国外 | 国产精品视频在线观看 | a级毛片蜜桃成熟时2在线播放 | 亚洲色成人网站www永久男男 | 午夜剧场免费在线观看 | 97香蕉久久超级碰碰高清版 | 久久久久国产 | 亚洲h视频在线 | 亚洲一区二区三区偷拍女厕 | 艳妇乳肉豪妇荡乳av无码福利 | 免费无码av片在线观看中文 | 老熟妇高潮一区二区三区 | aa在线视频 | 户外勾搭av片 | 免费人成视频在线观看不卡 | 少妇艳梅交换系列 | 欧美精品免费在线观看 | 好吊妞视频988在线播放 | 国产一区在线播放 | 又黄又爽的视频在线观看网站 | 中日韩在线观看 | 久久影视院线 | 国产精品久久天堂噜噜噜 | 日韩在线视频第一页 | 青青视频网站 | 日韩成人动漫在线观看 | 免费观看a视频 | 91国偷自产一区二区开放时间 | 欧美特级黄色录像 | 波多野结衣大战黑人8k经典 | 毛片麻豆 | 欧美一区二区三区视频在线观看 | 蜜桃久久久久久久 | 成人中文视频 | h 吃奶 呻吟 调教h | 欧美黑人性暴力猛交喷水 | 欧美日韩一级特黄 | 久久久久夜夜夜精品国产 | 午夜在线视频观看 | 一本色道久久综合亚洲精品酒店 |