1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          【.NET 8】ASP.NET Core計劃 - 支持更完善的AOT發布

          來源:互聯網轉載 時間:2024-01-29 08:28:35

          .NET7.0剛發布不久,.NET社區開始了.NET8.0的開發,重心重新回到了新功能的迭代。

          我們知道在.NET7.0中一個令人激動的特新就是支持了NativeAOT,我們可以通過NativeAOT生成本機程序,由于無需JIT編譯,所以無需安裝.NET Runtime,也進一步的提升了.程序的啟動速度,降低了程序的體積,在客戶端軟件開發、ServerLess等場景會有不錯的前景。關于NativeAOT發布的詳情可以點下方鏈接:
          https://learn.microsoft.com/zh-cn/dotnet/core/deploying/native-aot/

          作為地表最強的.NET WEB服務器ASP.NET Core,自然也是支持NativeAOT編譯,而今天就是為大家介紹關于.NET8.0中ASP.NET Core中計劃的一些NativeAOT改進。

          概述

          .NET 7引入了對將.NET控制臺項目作為本地AOT發布的支持,產生了一個獨立的、針對平臺的可執行文件,沒有任何運行時JIT。本地AOT應用程序啟動非???而且使用的內存更少。該應用程序可以被部署到沒有安裝任何.NET運行時的機器或容器中。在.NET 8中,我們將把對本地AOT的支持擴展到ASP.NET Core,首先是以云為重點,用最小的API構建的API應用程序,滿足關于發布文件大小、啟動時間、工作集和吞吐性能的期望。

          范圍

          如前所述,.NET8.0的主要重點是使用Minimal APIs實現ASP.NET Core API應用程序的本地AOT發布。這里的 "支持本地AOT"是指確保項目能夠通過<PublishAOT>項目屬性啟用本地AOT發布,并且由此產生的開發經驗能夠引導開發人員制作本地AOT發布的應用程序,而不會出現構建、發布或運行時警告和錯誤。這意味著ASP.NET Core和.NET的大多數基礎功能領域都需要更新,以支持本地AOT,包括:

          • 托管API,包括WebApplication,等等。
          • Kestrel HTTP服務器
          • 配置和選項
          • 日志
          • 依賴性注入
          • 通用中間件
          • 認證和授權
          • 最低限度的API
          • 健康檢查
          • 用ADO.NET進行數據訪問(SQLite和PostgreSQL為主要目標)
          • 支持OpenAPI
          • 可觀測性和診斷

          此外,作為一個次要目標,我們將在實現以下功能領域的NativeAOT發布方面取得進展:

          • gRPC
          • SignalR
          • MVC Web APIs
          • Entity Framework

          以下功能領域暫時不在NativeAOT支持的范圍內:

          • MVC視圖和Razor頁面
          • Blazor服務器

          開發經驗原則

          本地AOT有一些限制,這意味著在發布本地AOT時不支持.NET中的某些API和代碼模式。這些包括依賴運行時JIT的功能,如動態代碼生成和編譯、匯編加載等,以及導致代碼被本地AOT編譯過程修剪掉的模式,這些都是執行應用程序所需要的,導致運行時失敗。

          在為ASP.NET Core增加對本地AOT的支持時,我們必須確保開發體驗是這樣的:開發人員可以合理地確定他們的應用程序在發布為本地AOT后將如何運行。如果當前的API和功能的設計方式與原生AOT不兼容,我們將利用包括源碼生成器、分析器和代碼修復器在內的工具,讓現有的API與NativeAOT協同工作,或者讓開發者以合理的方式更新他們的應用程序與NativeAOT協同工作。

          階段

          階段 1

          這項工作的第一階段是使用新的項目模板創建ASP.NET Core API項目,啟用本地AOT,可以在沒有任何警告或錯誤的情況下構建、發布和運行,并且滿足可執行文件大小、啟動時間、工作集和吞吐量的定義指標。

          度量目標

          這些指標主要以Linux為重點,因為它是主要的部署目標,但Windows和macOS上的大小仍將被跟蹤,并與這些目標保持一致,因為在候選平臺調查期間,它往往有助于感知。

          • 10MB的可執行文件大小
          • <50毫秒的啟動時間(準備接受第一個請求)。
          • <50 MB的工作集內存足跡(準備接受第一個請求)。
          • <50 MB的工作集內存占用(處理完負載測試)。
          • 在Citrine perf環境下,默認CoreCLR RPS的5%以內

          這里的 "默認"是指與基于CoreCLR的應用程序部署的默認配置相比,例如包括分層JIT。

          階段 2

          第二階段建立在第一階段的基礎上,使更多的"真實世界"的ASP.NET Core API應用程序成為本地AOT發布。這些應用程序將使用更多通常與在云環境中運行API應用程序有關的功能,包括AuthN/Z、數據訪問、OpenTelemetry等。TrimmedTodo API應用程序將作為這種應用程序的最初例子。

          度量目標

          這些主要是以Linux為重點,因為這是主要的部署目標,但在Windows和macOS上的大小仍將被跟蹤,并與這些目標保持一致,因為它往往有助于在候選平臺調查中的感知。

          • 20MB的可執行文件大小
          • <150毫秒的啟動時間(準備接受第一個請求)。
          • <60 MB工作集內存占用(準備接受第一個請求)。
          • <60 MB的工作集內存占用(處理完負載測試)。
          • RPS在Citrine性能環境中的目標待定

          總結

          我們從.NET社區最新的計劃可以看出,ASP.NET Core將繼續在云原生場景發力,通過支持NativeAOT來降低可執行文件大小、縮短啟動時間降低內存占用,筆者本人是非常期待這樣的更新,在之前筆者的文章AOT和單文件發布對程序性能的影響中測試了.NET6.0時代ASP.NET Core AOT的的一些數據,后面.NET8.0發布以后期待它的改進。

          以下是.NET6.0 ASP.NET Core AOT的數據:


          Github對應鏈接:https://github.com/dotnet/aspnetcore/issues/45910

          標簽:aotman-

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          chinaren郵箱怎么登陸?中國人的郵件屬于搜狐的校友名單。你可以登錄搜狐網站上的校友名單,這是中國人的地址。輸入校友名單后,您可以在個人信息欄中找到您的ChinaRen電子郵件,然后單擊進入。如何看待張朝陽推出的搜狐熟人社交產品“狐友”?它會成功嗎?我想你會失敗100%。原因很簡單。社交網絡比其他領域更困難。今天,騰訊和Momo取得了成功。他們分別控制熟人和陌生人的社交網絡。其他玩家很難分得一...

          ipad 2018怎么安裝軟件?這款設備自帶app store,打開就可以下載軟件。ipad如何取消安裝app密碼?以下方法可以取消密碼安裝:1.在iPad設置中找到您的個人Apple ID,然后選擇[媒體和購買項目]。2.在賬戶設置中找到左上角的頭像,選擇【密碼設置】。3.點擊【需要密碼】右側的開關關閉。ipad怎么安裝apk文件?無法安裝!IPad罐 不要安裝apk格式的安卓應用。IPad搭...

          qq群投票怎么看誰沒有投?1.打開 group,登錄您的帳戶并選擇聯系人,然后在聯系人中選擇您的群組。2.進入你建的群后,點擊右上角兩個小人標志的圖標。進入群組設置。3.進入群組管理后,選擇群組投票功能選項。你發起了這里所有的投票。4.找到您想要查看投票結果的投票選項,點擊查看投票結果。5.在這個投票選項中,您可以看到誰投了票以及每個選項獲得了多少票。6.單擊每個選項,您可以在此處看到誰投票支持該...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>