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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

深入理解.NET Core的基元(二) - 共享框架

發布時間:2023/12/4 asp.net 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入理解.NET Core的基元(二) - 共享框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文:Deep-dive into .NET Core primitives, part 2: the shared framework

作者:Nate McMaster[1]?

譯文:深入理解.NET Core的基元(二) - 共享框架?

作者:Lamond Lu

本篇是之前翻譯過的《深入理解.NET Core的基元: deps.json, runtimeconfig.json, dll文件[2]》的后續,這個系列作者暫時只寫了3篇,雖然有一些內容和.NET Core 3.0已經不兼容了,但是大部分的原理還都是相通的,所以后面的第三篇我也會翻譯。

?深入理解.NET Core的基元(二):共享框架[4]?深入理解.NET Core的基元(三):深入理解runtimeconfig.json

前言

自.NET Core 1.0起,共享框架(Shared Framework)就已經成為了.NET Core的重要組成部分。自.NET Core 2.1起,ASP.NET Core就已經作為共享框架的第一次出現。你可能從來注意過這一點,但是在設計它的時候,我們經歷了許多反復和持續的討論。在本篇文章中,我們將深入共享框架并討論一些開發人員經常遇到的一些陷阱。

基礎部分

.NET Core應用可以在兩種模式下運行, 分別是框架依賴模式(Framework - Dependent) 和獨立運行模式(Self Contained) 。在我的Macbook上,一個最小的可獨立運行的ASP.NET Core網站應用,大約擁有350個文件,文件大小總共是93MB。相對的,一個最小的框架依賴應用,大約5個文件,文件大小總共239KB。

你可以如下命令行生成基于兩種不同模式的應用。

dotnet new web dotnet publish --runtime osx-x64 --output bin/self_contained_app/ dotnet publish --output bin/framework_dependent_app/

當程序運行的時候,他們的功能是一樣的。那么這兩種模式有什么區別么?其實正如官網文檔中的解釋:

框架依賴部署(framework-dependant deployment) 依賴目標中安裝的.NET Core共享組件。獨立部署(self-contained deployment)不依賴目標系統中安裝的共享組件,程序所需的所有組件都已經包含在當前應用程序中。

這篇官方文檔(https://docs.microsoft.com/en-us/dotnet/core/deploying/)中很好的解釋了不同模式的優勢。

PS: 作者當時寫這邊文章的時候, 沒有引入Framework-dependent executables (FDE),有興趣的同學可以自行查看。

共享框架

這里,簡單的說,.NET Core的共享框架就是一個程序集(*.dll文件)集合的目錄,這些程序集不需要出現在你的.NET Core的應用目錄中。這個目錄是.NET Core的共享系統范圍版本的一部分,通常你可以在C:\Program Filres\dotnet\shared中發現它。

當你運行dotnet.exe WebApi1.dll命令時,.NET Core宿主程序會

?嘗試發現你的應用依賴的程序集名稱和版本?在某些固定位置中嘗試查找該程序集

這些程序集可以在許多不同的位置被發現了,包含且不限于共享框架。在我之前的文章中,我主要解釋了如果通過deps.json和runtimeconfig.json文件配置宿主程序的行為。希望了解更多的同學,可以查看那篇文章。

.NET Core宿主程序會讀取*.runtimeconfig.json文件來確定加載哪個版本的共享框架。這個文件的內容類似:

{ "runtimeOptions": { "framework": { "name": "Microsoft.AspNetCore.App", "version": "2.1.1" } } }

這里,共享框架名稱只是一個名字。按照約定,這個名字應該是以.App結尾的,但是實際上它可以是任何字符串,例如"FooBananaShark"。

對于共享框架的版本,這里只是配置了一個最低的版本。.NET Core宿主程序會根據配置,加載對應版本的共享框架,或者更高版本的共享框架,但是它永遠不會加載比指定版本低的共享框架。

那么,我到底安裝了哪些共享框架呢?

運行dotnet --list-runtimes, 你就可以看到你電腦中安裝了哪些共享框架,以及它們的版本和文件位置。

對比Microsoft.NETCore.App,?AspNetCore.App以及AspNetCore.All

這里,以.NET Core 2.2為例。

框架名稱描述
Microsoft.NETCore.App基礎運行時。它主要提供了System.Object、List<T>、string類,以及內存管理,文件管理,網絡I/O, 線程管理等功能
Microsoft.AspNetCore.App默認Web運行時。它主要提供了使用API創建Web服務器的功能,這里主要包含Kestral, Mvc, SignalR, Razor, 以及EF Core的部分功能。
Microsoft.AspNetCore.All與第三方的集成庫。它追加了EF Core + Sqlite的支持,以及一些擴展功能, 例如Redis, Azure Key Valut等。(在.NET Core 3.0中已經不再使用)

共享框架與Nuget包的關系

.NET Core SDK生成了runtimeconfig.json文件。在.NET Core 1和2中,SDK使用了項目配置中的兩部分來確定runtimeconfig.json文件中框架部分內容。

?MicrosoftNETPlatformLibrary屬性。對于所有.NET Core項目,它默認是Microsoft.NETCore.App。?Nuget包管理工具的還原結果集,結果集中可能包含了相同名稱的包

這里針對所有的.NET Core項目, .NET Core SDK都會添加一個隱式的包來引用Microsoft.NETCore.App。ASP.NET Core通過修改默認配置MicrosoftNETPlatformLibrary, 將其改為Microsoft.AspNetCore.App。

但是這里需要注意,Nuget包管理工具不提供任何共享框架!不提供任何共享框架! 不提供任何共享框架! 重要的事情說三遍^_^。Nuget包管理工具只提供編譯器使用的一些API,以及少量SDK。共享框架的獲取來源可以是運行時安裝器 https://aka.ms/dotnet-download, 或者捆綁在Visual Studio中,Docker鏡像中,以及一些Azure服務器中。

版本前滾策略

正如我上面提到的,runtimeconfig.json只是指定了一個最小版本。實際使用的版本會依賴于一個版本前滾策略(詳細內容可以參閱官方文檔[5]。例如

?如果應用使用的共享框架最小版本是2.1.0, 那么程序最高會加載的共享框架版本是2.1.*。

針對這一部分,可以參見《深入理解.NET Core的基元(三):深入理解runtimeconfig.json》

作者:《深入理解.NET Core的基元(三):深入理解runtimeconfig.json》后續會補上

分層的共享框架

在.NET Core 2.1版本中引入了分層共享框架的特性。

共享框架可以依賴于其他共享框架。引入此特性是為了支持ASP.NET Core, 這個特性可以將程序包的運行時存儲轉換為一個共享框架。

如果你查看一下$DOTNET_ROOT/shared/Microsoft.AspNetCore.All/$version/文件夾,你會發現一個名為Microsoft.AspNetCore.All.runtimeconfig.json的文件,其內容如下

$ cat /usr/local/share/dotnet/shared/Microsoft.AspNetCore.All/2.1.2/Microsoft.AspNetCore.All.runtimeconfig.json { "runtimeOptions": { "tfm": "netcoreapp2.1", "framework": { "name": "Microsoft.AspNetCore.App", "version": "2.1.2" } } }

多級檢索

在.NET Core 2.0中引入了多級檢索特性。

宿主程序在啟動時會探查多個位置,以尋找合適的共享框架。程序首先會查找dotnet根目錄,即包含一個dotnet.exe可執行文件的目錄。這里我們可以通過配置DOTNET_ROOT的環境變量來覆蓋此配置。根據此配置,程序檢索的第一個目錄是:

$DOTNET_ROOT/shared/$name/$version

如果這個目錄不存在,宿主程序會嘗試使用多級檢索機制,檢索預定的全局路徑列表。這個機制可以通過設置全局變量DOTNET_MULTILEVEL_LOOKUP=0來關閉。默認情況下,預定的全局路徑列表如下:

OSLocation
WindowsC:\Program Files\dotnet?(64位進程)?C:\Program Files (x86)\dotnet?(32位進程) (查看源代碼[6])
macOS/usr/local/share/dotnet?(查看源代碼[7])
Unix/usr/share/dotnet?(查看源代碼[8])

最終宿主程序會在找到的全局目錄中檢索以下目錄

$GLOBAL_DOTNET_ROOT/shared/$name/$version

ReadyToRun特性

共享框架中的程序集,都是經過crossgen工具預優化過的。使用這個工具可以生成"ReadyToRun"版本的程序集,這些程序集都是針對指定操作系統和CPU架構優化過的。這里主要的性能提升是,減少了JIT在啟動時準備代碼所花費的時間。

Crossgen相關文檔:https://github.com/dotnet/coreclr/blob/v2.1.3/Documentation/building/crossgen.md

一些陷阱

我相信每個.NET Core程序員都會遇到以下陷阱中的一部分。我將盡力解釋這些問題是如何產生的。

Http Error 502.5 Process Failure

到目前為止,開發人員,最常遇到的陷阱是在IIS中或者Azure Web Services中托管ASP.NET Core應用程序。這個問題通常發生在開發人員升級了一個項目,或者當應用部署的時候,目標機器沒有更新。這個錯誤的真正原因通常是應用所需版本的共享框架找不到,導致.NET Core應用程序無法正常啟動。當dotnet無法啟動應用程序時,IIS會返回HTTP 502.5的錯誤,但是不會顯示內部的錯誤消息。

"The specified framework was not found"

It was not possible to find any compatible framework version The specified framework 'Microsoft.AspNetCore.App', version '2.1.3' was not found. - Check application dependencies and target a framework version installed at: /usr/local/share/dotnet/ - Installing .NET Core prerequisites might help resolve this problem: http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409 - The .NET Core framework and SDK can be installed from: https://aka.ms/dotnet-download - The following versions are installed: 2.1.1 at [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App] 2.1.2 at [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]

這個錯誤通常出現在HTTP 502.5錯誤之后,或者Visual Studio Test Explorer故障。

如上所述,當runtimeconfig.json文件指定了一個框架名稱和版本,但是經過多級檢索特性和前滾策略之后,主機依然無法找到一個合適的框架版本的時候,就會出現以上錯誤。

升級Microsoft.AspNetCore.App程序集的Nuget包

Microsoft.AspNetCore.App程序集的Nuget包,并不提供共享框架。它只是提供了C#/F#編譯器使用的一些API以及少量SDK. 所以你必須要單獨下載并安裝共享框架。

同時,由于前滾策略,你并不需要更新Nuget包的版本,來讓你的程序運行在新版本的共享框架中。

這可能是ASP.NET Core團隊的一個設計失誤,我們無法將共享框架作為Nuget包出現在項目文件中。共享框架所提供的程序包并不是通常意義上的程序包。與大部分程序包不同,它們不是自給自足的。我們希望當項目使用<PackageReference>時,Nuget能夠安裝所需的所有引用,但是令人沮喪的是,這些特殊程序包的設計偏離我們期望的模式。當然,現在我們已經得到了各種建議來解決這個問題。我希望它能早日實現。

<PackageReference Include="Microsoft.AspNetCore.App" />

在ASP.NET Core 2.1的新項目模板和文檔中,微軟向開發人員展示了,他們只需要在項目文件中添加如下的一行代碼。

<PackageReference Include="Microsoft.AspNetCore.App" />

其他的<PackageReference>引用代碼都必須要包含Version屬性。只有當項目文件是以<Project Sdk="Microsoft.NET.Sdk.Web">開頭的,那么以上這句與版本無關的程序包引用才會起作用,并且這里只對Microsoft.AspNetCore.{App, All}程序集包起作用。Web SDK將根據項中的其他配置, 例如:<TargetFramework>和<RuntimeIdentifier>, 來自動選擇一個合適的程序包版本。

如果你在包引用的部分加入的Version屬性,并指定了版本,或者你沒有使用Web SDK作為項目文件的開頭,則無法使用此功能。這里我很難推薦一個好的解決方案,因為最好的實現方式是基于你對此的理解水平和項目類型的。

發布修剪(Publish Trimming)

當你使用dotnet publish命令發布一個框架依賴的應用時,SDK會使用Nuget的還原結果(restore result)來決定哪些程序集應該出現在發布目錄中。有一些程序集是通過Nuget程序集包拷貝的,而有一些就不是,因為他們已經出現在共享框架中。

這很容易產生一些錯誤,因為ASP.NET Core作為共享框架和Nuget程序包都是可用的。項目發布修剪特性會嘗試通過圖形數學來檢查依賴傳遞,以及升級等,并以此選擇正確的程序包文件。

下面我們以如下的項目引用為例:

<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" /> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.9" />

MVC實際上是Microsoft.AspNetCore.App的一部分,但是當調用dotnet publish命令發布項目后,你會發現你的項目選用了升級后的Microsoft.AspNetCore.Mvc.dll程序包,這個程序包比Microsoft.AspNetCore.App中包含的2.1.1版本要高,所以最終Microsoft.AspNetCore.Mvc.dll會被拷貝到發布目錄中。

這就不太理想了,因為隨著你的應用程序大小不斷增長,你永遠得不到ReadyToRun優化版本的Microsoft.AspNetCore.Mvc.dll。

PS:這個問題以前很少注意到,不過真的很常見。

混淆目標框架的別稱與共享框架

如果簡單認為"netcoreapp2.0" == "Microsoft.NETCore.App, v2.0.0", 你就大錯特錯了。目標框架別稱(Target Framework Moniker簡稱TFM)只通過項目文件中<TargetFramework>節點指定的。"netcoreapp2.0"只是希望以人類友好的方式來表達你要使用哪個版本的.NET Core。

TFM的陷阱在于它的名稱太短了。它不能表達出多種共享框架,特定補丁的版本控制,版本前滾,輸出類型以及是獨立發布還是框架依賴發布等內容。SDK會嘗試從TFM推斷許多設置,但是無法推斷所有內容。

所以,更準確的說“netcoreapp2.0”意味著"Microsoft.NETCore.App v2.0.0及以上版本"。

混淆項目配置

最后一個陷阱和項目配置有關。在這里有很多術語和配置名稱,它們不總是一致的。這些術語非常令人困惑,因此,如果混淆了這些術語,也沒有關系,那不是你的錯。

下面,我就列出一些常見的項目設置及其實際含義。

<PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> <!-- 實際意義: * 從Nuget包解析編譯引用時使用的API集合的版本 --> <TargetFrameworks>netcoreapp2.1;net471</TargetFrameworks> <!-- 實際意義: * 使用兩個不同的API集合版本進行編譯。但這并不代表多層共享框架 --> <MicrosoftNETPlatformLibrary>Microsoft.AspNetCore.App</MicrosoftNETPlatformLibrary> <!-- 實際意義: * 最頂層的共享框架名稱 --> <RuntimeFrameworkVersion>2.1.2</RuntimeFrameworkVersion> <!-- 實際意義: * 指定了Microsoft.AspNetCore.App程序包的版本,這個版本就是最小的共享框架版本 --> <RuntimeIdentifier>win-x64</RuntimeIdentifier> <!-- 實際意義: * 操作系統種類 + CPU架構 --> <RuntimeIdentifiers>win-x64;win-x86</RuntimeIdentifiers> <!-- 實際意義: * 運行此項目可能使用的操作系統種類和CPU架構列表,你必須要通過RuntimeIdentifier配置選擇其中一個 --> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.2" /> <!-- 實際意義: * 使用Microsoft.AspNetCore.App作為共享框架 * 最低版本2.1.2 --> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.2" /> <!-- 實際意義: * 引用Microsoft.AspNetCore.Mvc程序包 * 實際版本2.1.2 --> <FrameworkReference Include="Microsoft.AspNetCore.App" /> <!-- 實際意義: * 使用Microsoft.AspNetCore.App作為共享框架. --> </ItemGroup>

總結

共享框架作為.NET Core的可選功能,盡管存在缺陷,但是我認為對于絕大部分用戶來說,這是一個合理的默認設置。我依然認為對于.NET Core開發人員來說,了解背后的原理是一件好事,希望本文是對共享框架功能的良好概述。我盡可能的關聯了一些官網文檔和指南,以便你可以找到更多的信息。如果還有其他問題,請在下面發表評論。

References

[1]?Nate McMaster:?https://natemcmaster.com/[2]?深入理解.NET Core的基元: deps.json, runtimeconfig.json, dll文件:?https://www.cnblogs.com/lwqlun/p/9704702.html[3]?深入理解.NET Core的基元(一):deps.json, runtimeconfig.json, dll文件:?https://www.cnblogs.com/lwqlun/p/9704702.html[4]?深入理解.NET Core的基元(二):共享框架:?https://www.cnblogs.com/lwqlun/p/11802513.html[5]?官方文檔:?https://docs.microsoft.com/en-us/dotnet/core/versions/selection#framework-dependent-apps-roll-forward[6]?查看源代碼:?https://github.com/dotnet/core-setup/blob/v2.1.3/src/corehost/common/pal.windows.cpp#L203-L210[7]?查看源代碼:?https://github.com/dotnet/core-setup/blob/v2.1.3/src/corehost/common/pal.unix.cpp#L195[8]?查看源代碼:?https://github.com/dotnet/core-setup/blob/v2.1.3/src/corehost/common/pal.unix.cpp#L197

總結

以上是生活随笔為你收集整理的深入理解.NET Core的基元(二) - 共享框架的全部內容,希望文章能夠幫你解決所遇到的問題。

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

亚洲天堂网在线播放 | 亚洲 欧美日韩 国产 中文 | 亚洲欧美日韩国产精品一区午夜 | 四虎成人精品永久免费av | 在线播放 日韩专区 | 91久久精品一区 | 蜜臀久久99精品久久久久久网站 | 开心色婷婷 | 久久成人国产精品一区二区 | 免费黄色在线播放 | 天干啦夜天干天干在线线 | 国产精品手机看片 | 中文在线字幕免费观看 | 操操日日 | 中字幕视频在线永久在线观看免费 | 正在播放一区二区 | 色偷偷网站视频 | 亚洲高清在线 | 日韩伦理一区二区三区av在线 | 色婷婷综合成人av | 久久伊人操 | 99精品国产99久久久久久97 | 高清不卡一区二区在线 | 亚洲综合黄色 | 亚洲精品视频免费看 | 精品国产综合区久久久久久 | 美女视频是黄的免费观看 | 在线韩国电影免费观影完整版 | 日韩精品在线播放 | 国产视频久久久 | 亚洲精品午夜国产va久久成人 | 免费黄色av片 | 国产精品99久久久久久大便 | 精品伊人久久久 | 91精品久久久久久久久久久久久 | 黄色亚洲免费 | 欧美成人在线免费观看 | 国产成人在线一区 | 日韩一级成人av | 久久综合电影 | 亚洲闷骚少妇在线观看网站 | 夜夜视频资源 | 国产精品久久久久久久久久ktv | 久久午夜视频 | 日本在线观看一区二区三区 | 黄色大全免费观看 | www.av免费| 国产在线国偷精品产拍 | 黄色一级大片在线免费看国产一 | www.久久色.com | 久久婷婷一区 | av一级免费 | 中文字幕观看av | 在线观看视频黄 | 天天操狠狠操夜夜操 | 久久99视频免费观看 | 成人av在线亚洲 | 国产精品自产拍在线观看 | 激情五月av| 国产丝袜 | 99久久久久久久久 | 久久伊人综合 | 久久综合久久伊人 | www.久艹 | 天天干中文字幕 | 国产精品一区二区你懂的 | 一本—道久久a久久精品蜜桃 | 国产精品99久久久久久有的能看 | 婷婷丁香在线观看 | 天天射日| 婷婷丁香七月 | 激情五月伊人 | 91中文字幕视频 | 国产特级毛片aaaaaaa高清 | 国产在线p | 麻豆国产精品永久免费视频 | 欧美在线观看小视频 | 久人人 | 日本不卡视频 | 91精品视频免费在线观看 | 精品国产99国产精品 | 在线免费性生活片 | 亚洲精品xxx | 国产精品精品久久久久久 | 中文字幕中文字幕在线中文字幕三区 | 免费人做人爱www的视 | 国产精品 中文在线 | 三级黄色片在线观看 | 免费看黄的 | 欧美综合久久久 | 手机在线中文字幕 | 国产一级淫片免费看 | 天天操天天干天天操天天干 | 国产精品手机视频 | 久久a免费视频 | 中文字幕第 | 综合在线亚洲 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 激情五月激情综合网 | 久久99视频免费观看 | 99久高清在线观看视频99精品热在线观看视频 | 久久国内精品99久久6app | 久热av| 亚洲综合黄色 | 四虎永久网站 | 亚洲男人天堂a | 精品亚洲va在线va天堂资源站 | 黄色在线成人 | 美女精品久久久 | 在线亚洲高清视频 | 97精产国品一二三产区在线 | 天天综合网 天天综合色 | 天堂网av 在线 | 精品不卡av | 91视频免费国产 | 色婷婷综合久久久中文字幕 | 国产美女网 | 激情综合五月网 | 久久久精品99| 91精品国产99久久久久久久 | 国产一区二区网址 | 日韩毛片在线播放 | 狠狠的日日 | 久久精品小视频 | 色99视频 | 国产午夜精品久久 | 91最新网址在线观看 | 久久久久久国产精品 | 久久视频99| 成人午夜在线观看 | 超黄视频网站 | 97视频在线观看免费 | 免费一级片在线 | 亚洲精品免费观看 | 国产品久精国精产拍 | 国产视频1 | 国产亚洲欧美精品久久久久久 | www免费| 国产手机av | 国产生活一级片 | 欧美二区三区91 | 国语麻豆| 国产精品久久久久久久久久免费 | 亚洲清纯国产 | 国产免费久久久久 | 欧美久久电影 | 精品黄色视 | 天天干天天操天天爱 | 丝袜+亚洲+另类+欧美+变态 | 91激情视频在线 | 亚洲国产手机在线 | 亚洲精品网站在线 | 国产一区二区三区在线免费观看 | 69视频在线播放 | 免费高清看电视网站 | 免费a网址 | 成片免费观看视频 | 69久久久久久久 | 天天干天天做 | 69亚洲精品 | 婷婷久久综合网 | 成人啊 v| 在线观看中文字幕一区 | 在线观看免费国产小视频 | 中文字幕视频免费观看 | 国产精品福利一区 | 久久福利精品 | 日韩精品久久一区二区三区 | 国产美女免费看 | 91av手机在线观看 | 欧美激情视频一区二区三区免费 | 日本性xxx| 黄色av影视 | 国产免费嫩草影院 | 国产一区在线免费观看视频 | 亚洲精品午夜视频 | www.久草视频 | 国产黄色精品在线 | 狠狠干婷婷色 | 亚洲视频456| 亚洲欧美国产精品 | 香蕉久久久久久久 | 国产美女视频免费观看的网站 | 成人免费在线播放 | 九九热精品视频在线播放 | 久久99国产综合精品免费 | 中国一级片在线 | 麻豆国产精品永久免费视频 | 欧美日韩在线视频观看 | 欧美日韩高清免费 | 最新色视频 | 亚洲人成在线观看 | 久久精品一区二区三区国产主播 | 中文字幕最新精品 | 日韩免费一区二区 | 国产精品久久一区二区三区, | 狠狠色丁香久久综合网 | 免费视频91蜜桃 | 久草在线一免费新视频 | 在线观看aa| 久草精品视频在线播放 | 免费观看一区二区 | 国产综合91 | 欧美日韩另类在线 | 久久综合视频网 | 国产午夜精品福利视频 | 久草在线视频在线观看 | 婷婷香蕉| www色综合 | 91精品国产91久久久久福利 | 91精品入口 | 欧美色图另类 | 国内偷拍精品视频 | 国产电影黄色av | 国产午夜精品视频 | 国产精品久久久久久av | 高清视频一区二区三区 | 青青草国产精品 | 亚洲国产精品小视频 | www九九热| 欧美一二区视频 | www.久久成人 | 在线国产小视频 | 天天操天 | 一区二区三区在线视频111 | 2020天天干夜夜爽 | av丁香| 五月激情片 | 日韩精品免费在线 | 中文字幕av免费在线观看 | 黄网站色欧美视频 | 久久精品国产一区二区三 | 国产亚洲va综合人人澡精品 | 久久99久国产精品黄毛片入口 | 久色网| 黄色a在线| 手机在线小视频 | 天天干天天操 | 五月婷婷中文 | 91福利在线观看 | 婷婷色资源 | 久久久久一区二区三区四区 | 久久视频在线观看 | 日韩黄色免费电影 | 一区二区三区av在线 | www色av| 欧美做受高潮电影o | 亚av在线 | 又黄又刺激视频 | 女人18毛片90分钟 | 91资源在线播放 | 最近乱久中文字幕 | 在线观看成人av | 日韩久久精品 | 高潮毛片无遮挡高清免费 | 亚洲一区美女视频在线观看免费 | 伊人六月 | 一区二区三区在线观看免费 | 国产69久久精品成人看 | 国产精品女人久久久久久 | av一区在线播放 | 91片黄在线观看动漫 | 国产精品一区二区白浆 | 精品欧美一区二区三区久久久 | 6080yy精品一区二区三区 | 天天添夜夜操 | 亚洲女同ⅹxx女同tv | 久草剧场 | 亚洲精品www| 美女网站黄免费 | 亚洲天天看 | 综合网久久 | 免费观看版| 亚洲欧洲国产精品 | 久草线| 色爽网站| 日韩特黄av | 在线观看黄色小视频 | 99久久99久久精品国产片 | 欧美综合久久 | 久久精品网站视频 | 特级毛片网 | 在线观看黄网站 | 天天搞天天干天天色 | 99久久精品视频免费 | 久久久久欧美精品999 | 国产精品一区专区欧美日韩 | 新av在线 | 国产日韩中文字幕 | 就要色综合 | 91视频中文字幕 | 91福利影院在线观看 | 婷婷丁香六月天 | 久久草| 最近中文字幕国语免费av | 91在线操 | 中文字幕在线观看播放 | 99久久精品国产毛片 | 久久久国产一区二区 | 国产精品久久久久9999吃药 | 色悠悠久久综合 | 天天色天天射天天干 | 国产又粗又长的视频 | 久久免费播放 | 日本性高潮视频 | 国产精品一区二区三区在线免费观看 | 92精品国产成人观看免费 | 18做爰免费视频网站 | 狠狠色噜噜狠狠狠狠2021天天 | 欧美日韩亚洲在线观看 | 久久久久久免费毛片精品 | 在线香蕉视频 | 91av手机在线观看 | 97免费中文视频在线观看 | 久久久麻豆精品一区二区 | 日韩动漫免费观看高清完整版在线观看 | 天天看天天干天天操 | 成人av午夜 | 成人久久亚洲 | 欧美日韩国产在线 | 中文字幕在线看视频国产中文版 | 国产一级片直播 | 久久影院中文字幕 | 永久免费毛片在线观看 | 国产精品乱码在线 | 久久精久久精 | 看av免费 | 在线a亚洲视频播放在线观看 | 在线91av | 日韩免费视频观看 | 精品国产伦一区二区三区观看说明 | 久久人人爽人人爽 | 日韩黄色大片在线观看 | 精品国产一区二区三区久久久久久 | 国产高清综合 | 天天射天天艹 | av电影一区二区 | 国产高清在线免费视频 | 国产精品女同一区二区三区久久夜 | 欧美日韩高清在线一区 | 亚洲精品黄网站 | 亚洲高清视频在线观看 | 婷婷在线精品视频 | 成人动漫一区二区三区 | 久草97| 久久电影国产免费久久电影 | 久久综合久色欧美综合狠狠 | 国产高清av免费在线观看 | 久久永久免费 | 五月天精品视频 | 成人免费观看a | 国产99精品在线观看 | 2024av| 日日碰夜夜爽 | 久久蜜臀av| 久久久久久久久久久久国产精品 | 又长又大又黑又粗欧美 | 国产日本三级 | 狠狠狠色丁香婷婷综合久久五月 | 久久久久国产精品一区二区 | 亚洲视频精品在线 | 日韩最新理论电影 | 91视频首页 | 在线观看91视频 | 亚洲精品视频网站在线观看 | 色视频网站免费观看 | www色av| 日韩一区二区三区观看 | 久久久久久久久亚洲精品 | 人人插人人爱 | 日韩综合精品 | 人人澡人人干 | 国产一区免费在线观看 | 91亚色在线观看 | 欧美网站黄色 | 日韩国产欧美视频 | 五月婷在线 | 国产成人一级 | 玖玖玖国产精品 | 一级免费黄色 | av青草| 国产精品久久毛片 | 亚洲国产精品99久久久久久久久 | 婷婷在线资源 | 欧美日韩国产高清视频 | 在线观看日韩一区 | 九九九电影免费看 | 日韩在线视频一区 | 偷拍福利视频一区二区三区 | 激情五月婷婷激情 | 美女视频黄免费网站 | 97成人精品视频在线播放 | 亚洲精品自拍视频在线观看 | 蜜臀av一区二区 | 一区二区三区在线影院 | 在线视频区 | 2021久久| 欧美日韩国产页 | 婷婷深爱网 | 96精品视频| 免费中午字幕无吗 | 在线观看深夜视频 | 久久久国产精品人人片99精片欧美一 | 欧美日韩精品在线观看视频 | www.com久久久| 亚洲免费av一区二区 | 久久一区二区三区日韩 | 日韩精品久久久久久中文字幕8 | 人人射人人射 | zzijzzij日本成熟少妇 | 亚洲黄色成人网 | 中文字幕视频免费观看 | 色综合久久久久综合体桃花网 | 天天躁天天操 | 欧美性爽爽| 国产又粗又猛又色又黄网站 | 欧美亚洲一级片 | 91av蜜桃 | av一区在线 | 91综合久久一区二区 | 亚洲色图 校园春色 | 日韩久久久久久久久久久久 | 久久黄色影院 | av直接看 | 男女啪啪免费网站 | 97成人在线免费视频 | 麻豆传媒视频在线播放 | 久久久午夜剧场 | 久久久久久久久久亚洲精品 | www四虎影院| 亚洲欧洲一级 | 久久综合欧美精品亚洲一区 | www国产精品com| 91在线成人 | 最新国产精品亚洲 | 美女精品网站 | 国产免费久久精品 | 欧美analxxxx| 婷婷激情影院 | 91精品一区二区三区蜜臀 | 国产一区欧美日韩 | 欧美在线91 | 99精品小视频 | 亚洲aⅴ在线 | 国产精品久久久久久久久久久久午夜 | 操操操夜夜操 | 日韩综合色 | 91毛片在线观看 | 欧美日韩亚洲在线观看 | 欧美一区二区三区在线视频观看 | 亚洲国产免费看 | 99视频精品 | 久久国产精品电影 | av福利免费| 欧美男男tv网站 | 天天干天天干天天干天天干天天干天天干 | 精品毛片久久久久久 | 久久亚洲精品电影 | 国产成人三级三级三级97 | 久久一级电影 | 狠狠久久| 91一区二区三区在线观看 | 日本三级吹潮在线 | 国产亚洲精品无 | 在线 高清 中文字幕 | 五月天com | 国内综合精品午夜久久资源 | 亚洲视屏一区 | 免费国产在线视频 | 久久人人艹| a午夜在线 | 亚洲国产美女精品久久久久∴ | 一区二区三区av在线 | 91麻豆精品国产91久久久使用方法 | 天天做天天爱夜夜爽 | 婷婷狠狠操 | 久久久久在线 | 久久久久国产精品www | 精品国产一区二区三区久久久久久 | 91精品国产麻豆国产自产影视 | 久久麻豆精品 | 天天操天天插 | 亚洲国产激情 | 中文字幕久久久精品 | 久久免费视屏 | 久久综合九色 | 91久久精品一区二区三区 | 成人av电影在线观看 | 国产精品久久av | 国产在线精品国自产拍影院 | 亚洲精品免费视频 | av专区在线| 日日干夜夜骑 | 黄色a在线 | 天堂入口网站 | 日韩一区二区三区高清免费看看 | 国产在线中文 | av免费观看网站 | 久久伦理影院 | 国产中文字幕av | 中文在线8资源库 | japanesexxxhd奶水 91在线精品一区二区 | 日韩一区二区三区高清在线观看 | 九九九九精品 | 国色天香在线观看 | 在线精品视频免费观看 | 福利在线看片 | 激情视频免费在线 | 91视频久久久久 | 日韩视频精品在线 | 免费高清男女打扑克视频 | 日韩中文字幕亚洲一区二区va在线 | 国产精品久久久久久久久久久杏吧 | 免费在线观看一区二区三区 | 色91av| 日本精品一区二区三区在线播放视频 | 婷婷色伊人 | 一级黄色电影网站 | 在线91播放 | 国产精品女人网站 | 午夜精品久久久久久久99热影院 | 中文字幕在线观看免费 | 黄色美女免费网站 | 久久xxxx | 久草在线中文888 | 伊人天堂网 | 国产精品日韩欧美 | 成人免费xxx在线观看 | 黄色电影小说 | 伊人天堂网 | 亚洲精品字幕在线观看 | 99re亚洲国产精品 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 日韩免费看的电影 | 久久一区精品 | 色av色av色av| 欧美另类v | 亚洲成熟女人毛片在线 | 波多野结衣精品 | 成人免费观看完整版电影 | 欧美另类高清 | 中文在线天堂资源 | 黄色网www | 国产在线a免费观看 | 国产香蕉在线 | 亚洲精品国偷拍自产在线观看 | www.色午夜,com | 丁香免费视频 | 亚洲国产剧情av | 久久精品91久久久久久再现 | 日韩理论片中文字幕 | 国产高清不卡av | 99re热精品视频 | 99tvdz@gmail.com| 久久神马影院 | 久久久久久久福利 | 国产精品视频最多的网站 | 九九99靖品 | 人人超碰人人 | www天天干com | 激情综合电影网 | 欧美日韩一区二区三区免费视频 | 成人禁用看黄a在线 | 91视频 - v11av | 精品国产一区二区三区噜噜噜 | 国产精品久久久久一区二区三区 | 亚州免费视频 | 欧美日韩精品在线一区二区 | 久久成人精品视频 | 中文字幕在线视频免费播放 | 亚洲精品国产自产拍在线观看 | 国产成人精品一区二区在线 | 成人欧美一区二区三区在线观看 | 国产精品video | 成人黄色在线 | av中文字幕不卡 | 国产破处精品 | 丁香五香天综合情 | 国产原创91 | 国产精品乱码久久久 | 日韩,中文字幕 | 国产亚洲视频在线免费观看 | 中文字幕在线视频一区二区 | 色a在线观看 | 久久国产综合视频 | 99久久综合精品五月天 | 久久永久视频 | 中文视频在线看 | 又黄又刺激视频 | 日本中文乱码卡一卡二新区 | 99久久精品国产免费看不卡 | 91亚洲激情 | 国产精品手机在线播放 | 欧美一区二区免费在线观看 | 丰满少妇在线观看 | 国产五月婷婷 | 天天性天天草 | 91亚洲精品乱码久久久久久蜜桃 | 成人av在线播放网站 | 精品在线小视频 | 午夜色影院 | 欧美特一级片 | 国产在线一区二区三区播放 | 国产精品久久久久久久久久久久午 | 亚洲精品乱码久久久久久9色 | 午夜男人影院 | 九九热免费视频在线观看 | 91av视频观看 | 亚洲成人免费在线观看 | 人人爽网站| 久久欧美视频 | 免费中文字幕在线观看 | 国产黑丝一区二区 | 99久热在线精品视频成人一区 | 天天插日日射 | 久久成人综合视频 | 久久这里只有精品首页 | 九九久久久久99精品 | 午夜精品久久久久久久久久久久 | 久久久午夜精品福利内容 | 国产高清久久久久 | 日韩乱理 | 在线观看国产日韩欧美 | 国产精品爽爽久久久久久蜜臀 | 久久人人97超碰精品888 | 欧美一级电影免费观看 | 久久久久国产一区二区三区四区 | 午夜精品一二三区 | 国产女人40精品一区毛片视频 | 果冻av在线 | 一区二区三区中文字幕在线观看 | 欧美一区二区三区激情视频 | 日韩精品中文字幕有码 | 国产精品久久在线观看 | 免费在线观看不卡av | 国产精品久久久一区二区三区网站 | 免费日韩电影 | 黄色av影视 | 丝袜美腿亚洲综合 | 综合久久网 | 国产伦精品一区二区三区… | 国产污视频在线观看 | 久久艹在线 | 亚洲www天堂com | 国产高清成人 | 99精品视频在线观看免费 | 成人一级 | 欧美日韩一区二区三区在线观看视频 | 成人久久久久久久久久 | 久草网在线观看 | 国产精品99久久久 | 91夜夜夜 | 四虎影视国产精品免费久久 | 国产精品毛片一区二区在线 | 999成人网 | 中文字幕精品一区久久久久 | 婷婷综合影院 | 欧美综合在线观看 | 久久草av | 三级黄免费看 | 亚洲成熟女人毛片在线 | 免费国产黄线在线观看视频 | 欧美极品久久 | 五月天伊人 | 中文字幕在线一区观看 | 日韩视频三区 | 免费观看www小视频的软件 | 成人在线免费视频观看 | 国产小视频你懂的在线 | 97人人模人人爽人人喊中文字 | 日韩欧美一区二区三区免费观看 | 中文字幕免费一区二区 | 波多野结衣网址 | 青青河边草观看完整版高清 | 国产福利电影网址 | 亚洲一区二区观看 | 亚洲精品美女在线观看播放 | 日韩视频一二三区 | 欧美性网站 | 人人看人人草 | 欧美一级高清片 | 在线观看国产v片 | 激情综合色播五月 | 国产精品一区二区三区在线看 | 99久热 | 成年在线观看 | 午夜精品视频一区 | 涩涩网站免费 | 日本精品一二区 | 免费成人在线视频网站 | 欧美天天射 | 免费黄色特级片 | 正在播放国产一区二区 | 日韩一级成人av | 在线中文字幕观看 | 国产原创在线 | 五月婷婷操 | 日本视频久久久 | 亚洲久草视频 | 色婷婷狠狠操 | 国产精品久久久区三区天天噜 | 日韩超碰| 日韩在线观看高清 | 天天爽夜夜爽人人爽曰av | 91重口视频| 久久国产精品视频免费看 | 久久在现视频 | 91精品国产福利在线观看 | 五月婷婷在线观看 | 日韩高清一区在线 | 中文字幕乱视频 | 麻豆视频在线观看 | 操操操av | 狠狠色噜噜狠狠 | 国产在线久草 | 毛片888 | 国产精品一区在线播放 | 午夜精品福利一区二区 | 中文字幕在线久一本久 | 夜夜夜夜操 | 久久超碰免费 | 日韩v在线91成人自拍 | 五月天天色 | 亚洲精品视频在线 | 中文字幕在线观看三区 | 免费观看一区二区 | 日韩va在线观看 | 久久人人爽人人 | 999久久久免费精品国产 | 永久精品视频 | 亚洲国产精品一区二区尤物区 | 久久久 精品 | 精品三级av| 免费碰碰| 日韩在线观看第一页 | 麻豆精品91 | 国产黄a三级三级 | 狠狠狠狠狠狠干 | 亚洲综合小说电影qvod | 成人av中文字幕在线观看 | av网站免费线看精品 | 91九色蝌蚪视频在线 | 日韩精品综合在线 | 区一区二区三区中文字幕 | 最新国产中文字幕 | 国产成人精品999在线观看 | 国内精品久久久久影院一蜜桃 | 成人一区二区三区在线观看 | 欧洲视频一区 | 精品国产精品久久 | 国产精品久久免费看 | 在线观看激情av | 国产成人三级在线 | 亚洲三级网| 久久婷五月| 日批网站在线观看 | 日韩在线免费 | 国产精品自在欧美一区 | 99爱爱 | 九九爱免费视频在线观看 | 久久九九视频 | 国产黄色一级片在线 | 粉嫩av一区二区三区四区在线观看 | 国产精品永久 | 中文字幕黄色av | 欧美性脚交| 日韩高清网站 | 一级成人免费视频 | 久久综合九色综合欧美狠狠 | 片网站| 在线不卡中文字幕播放 | 亚洲精品乱码久久久久久蜜桃不爽 | 日韩高清一区 | 精品久久久免费 | 午夜视频在线观看网站 | 狠狠搞,com| 国产伦理一区二区 | 激情丁香综合 | 婷婷免费视频 | 欧美精品亚洲精品 | 久草精品视频在线看网站免费 | 在线观看日韩中文字幕 | 色福利网 | 亚洲国产99 | 韩国av电影在线观看 | 人人爱在线视频 | 国产精品久久久久久久久婷婷 | 99草在线视频 | 91在线免费看片 | 久久久精品福利视频 | 亚洲黄色高清 | 九九综合久久 | 99精品欧美一区二区蜜桃免费 | 国产午夜精品av一区二区 | 黄色三级网站 | 国产免费精彩视频 | 欧美成年人在线视频 | 又黄又爽又无遮挡的视频 | 日韩欧美高清在线观看 | 操操综合网 | 精品国产久| 最近中文字幕高清字幕免费mv | 日韩网 | 81国产精品久久久久久久久久 | 亚洲激情在线播放 | 911精品视频 | 天天操天天是 | 中文字幕电影网 | 成人av一区二区在线观看 | 欧美日韩精品在线播放 | 亚洲综合涩 | 亚洲视频精品在线 | 精品爱爱| 久久精品99久久 | 亚洲a成人v| 欧美色图p | 日韩在线观看你懂的 | 国产v亚洲v | 国产视频精选 | 精品国产一区二区三区在线 | 中文字幕av在线免费 | 一区在线免费观看 | 久久优 | 欧美精品国产综合久久 | 欧美成人69av | 国产精品18久久久久久久久久久久 | 成年人电影免费看 | 九草在线观看 | 久久草av | 91亚洲欧美 | 久久久久久毛片 | 日日干激情五月 | 国产精品一区二区三区观看 | 成人高清在线观看 | 久久久久成人精品免费播放动漫 | 国产中文字幕一区二区 | 欧美日韩一区二区免费在线观看 | 成 人 黄 色 视频免费播放 | 午夜精品一区二区三区在线播放 | 欧美精品中文字幕亚洲专区 | 草久在线视频 | 大型av综合网站 | 国产裸体永久免费视频网站 | 久久精品国产一区二区电影 | 天天干天天干天天色 | 国产香蕉视频 | 岛国大片免费视频 | 国产精品一区二 | 国内外成人在线 | 国产黄色片一级 | 人人精品久久 | 91福利视频久久久久 | 国产免费a | www.69xx| 国产亚洲精品久久19p | www夜夜 | 国产精品原创 | 日日夜夜操操操操 | 亚洲狠狠丁香婷婷综合久久久 | 日本三级久久久 | 亚洲高清网站 | 国产精品尤物 | 国产视频在线观看一区二区 | 精品一区 在线 | 日韩高清黄色 | 能在线看的av | 91精选在线观看 | 成人精品电影 | 欧美日韩精品久久久 | 日本中文字幕在线播放 | 国产午夜精品免费一区二区三区视频 | 国产精美视频 | 久艹在线免费观看 | 日韩1级片 | 一区二区精品视频 | 久久久 精品 | 欧洲精品亚洲精品 | 日韩免费看 | www.国产毛片 | 精品麻豆入口免费 | 亚洲国产三级 | 美女黄频在线观看 | 国产精品一区二区久久 | 久久 国产一区 | www.综合网.com | 国产精品九九九九九 | 国产在线专区 | 在线影院av| 国产欧美三级 | 久久不射网站 | 免费在线观看av的网站 | 91九色丨porny丨丰满6 | 久久精品视频在线 | 蜜桃视频色 | 黄色毛片在线看 | 91在线免费播放视频 | 久久综合五月婷婷 | 国产精品女主播一区二区三区 | 日日久视频| 日韩大片在线观看 | 99久久综合国产精品二区 | 欧美天天干 | 97免费 | www.狠狠操.com | 日韩精品欧美精品 | 国产精品久久久久久久久久久久午夜 | 成人黄色在线视频 | av丁香花 | 日韩三级久久 | 99精品小视频 | 99麻豆视频 | 亚洲国产片色 | 九九九国产 | 日本久久精品 | 热久久电影 | 国产精品久久久久999 | 国产破处视频在线播放 | 中文在线字幕免费观看 | 中文字幕日韩av | 夜色成人网 | 亚洲女欲精品久久久久久久18 | 九色激情网 | 在线亚洲精品 | 欧美天天综合 | 亚洲视频免费在线观看 | 九九九热 | 91精品对白一区国产伦 | av免费在线看网站 | 久久久久女人精品毛片 | 欧美日韩精品免费观看 | 91精品国产91久久久久福利 | 国产精品国产三级国产 | 成人在线观看免费视频 | 日韩在线电影一区 | 亚洲成a人片在线观看网站口工 | 久草电影在线观看 | 国产精品理论视频 | 亚洲精品五月天 | 久在线| 丁香花中文字幕 | 中文综合在线 | 手机色站 | 亚洲黄色片一级 | 波多野结衣视频在线 | 国产日韩欧美视频 | 国产精品久久一区二区三区不卡 | 国产精品国产亚洲精品看不卡 | 97碰视频| 国产不卡av在线 | 久久国内精品99久久6app | 久久久久北条麻妃免费看 | 一区二区丝袜 | av在线h| 久久超碰99| 91久久久久久久一区二区 | 免费看一级黄色大全 | 国产在线观看av | 青春草免费在线视频 | 色综合久久综合中文综合网 | 在线不卡的av | 99在线视频观看 | 天天爱天天干天天爽 | 久久99精品国产99久久6尤 | 麻豆视频国产精品 | 国产精品中文字幕av | 久久久久久久久毛片 | 欧美精品国产综合久久 | 日韩色综合网 | 91精品久久久久久综合乱菊 | 午夜视频免费 | 一区二区三区在线视频观看58 | 欧美视频国产视频 | 色婷婷国产精品一区在线观看 | 91亚洲精品乱码久久久久久蜜桃 | 黄色福利网| 日日操操操| 在线视频麻豆 | 成年人在线免费看片 | 精品免费在线视频 | 久久综合偷偷噜噜噜色 | 国产性天天综合网 | 久久久久久久久影院 | 特级黄色片免费看 | 亚洲欧洲一级 | 中文字幕在线一二 | 国产黄色美女 | 777奇米四色 | 欧美伦理一区二区三区 | 日本系列中文字幕 | 操操操av | 久热久草| 久久久久久麻豆 | 久久综合色8888 | 韩国一区二区在线观看 | 中文字幕在线有码 | 日韩在线 | 91污在线 | 久草视频在线播放 |