.NET Framework 4.8預覽

雖然人們的大多數關注點都在.NET Core上,但經典的.NET Framework仍然在開發中。.NET 4.8的“早期訪問”預覽版表明了微軟最關心的領域包括高DIP、可訪問性和并發性。

\\

.NET 4.8預計將于2019年發布。目前的預期是,它將在稍后的Windows 10 build 1607上運行,但這一決定并非最終結果。

\\

Span\u0026lt;T\u0026gt;

\\

在介紹新版本將要包含哪些內容之前,值得一提的是,最受期待的功能Span\u0026lt;T\u0026gt;不會成為此版本的一部分。據微軟的Rich Lander稱,

\\
\

Span包含在.NET Core 2.1中。我們試圖在.NET Framework 4.8中包含Span,但由于對現有應用程序的兼容性問題而決定不這么做。你可以System.Memory Nuget包中訪問Span和其他相關類型。

\
\\
\

System.Memory:https://www.nuget.org/packages/System.Memory/

\
\\

高DPI

\\

高DPI仍然是.NET的焦點。隨著顯示器分辨率不斷提高,應用程序需要放大以補償文字和圖像太小造成的無法辨認。在此版本中,ClickOnce和WinForms將迎來高DPI更新。

\\

高DPI問題持續存在的原因有兩個。首先是高分辨率顯示器的可用性問題。在支持縮放的硬件變得可用之前,微軟無法有效測試200%和300%的縮放比例。因此,除非顯示器已經改進到一定程度,否則縮放仍然是一個問題。

\\

另一個挑戰是多監視器設置。當應用程序在不同分辨率的顯示器之間移動時,必須重新計算縮放并換出圖像。更糟糕的是,應用程序可能會在兩個或多個具有不同分辨率的顯示器上發生重疊。解決這種情況需要各種妥協,結果并不總是令人滿意。

\\

性能

\\

除了通常的內部調整(如減少AsyncLocal的內存使用量或微調旋轉鎖)之外,此版本還修復了SqlDataReader.ReadAsync實際上不是異步執行的問題。

\\

死鎖和靜態條件

\\

鑒于.NET Framework日趨成熟,我們可能會驚奇地發現,許多核心庫仍存在競態條件和死鎖。以下是與并發相關問題的部分列表。

\\
  • CLR:在并發調用新動態方法可能發生的潛在崩潰\\t
  • CLR:調用EventSource的Dispose()時可能發生死鎖\\t
  • 網絡:在鎖定NetworkChanged監聽器和用戶回調時,NetworkInformation.NetworkChange可能會發生死鎖\\t
  • WCF:在調用Set()之前關閉WaitHandle,可能在AsyncResult中存在競態條件\\t
  • WCF:當中止連接導致從CleanupChannelCollections中拋出ObjectDisposedException時可能發生的竟態條件\\t
  • 工作流程:在極端使用條件下(與MSDTC的大量連接),單個線程可能會無限期地持有CriticalSection\\t
  • 用戶界面可訪問性(UIA)\

UIA的關注點仍然是WinForms獲得新的UIA行為,以及修復UIA和WPF中UIA錯誤。(很多非UIA錯誤也在二者中得到修復。)

\\

有關變更的完整列表,請參閱.NET 4.8發布說明。預覽版本身可以通過.NET博客獲得。

\\

查看英文原文:An early Look at .NET 4.8

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282959.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282959.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282959.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java項目商品的排名,分析了5萬個開源項目,得出的排名前16的Java工具類

原文:https://www.jianshu.com/p/9e937d178203在Java中,工具類定義了一組公共方法,這篇文章將介紹Java中使用最頻繁及最通用的Java工具類。以下工具類、方法按使用流行度排名,參考數據來源于Github上隨機選取的5萬個開源項目源碼。一. org.ap…

IDEA遠程調試

參考鏈接:http://www.cnblogs.com/wy2325/p/5600232.html 調試端口是catlina.sh中的 JAVA_OPTS-agentlib:jdwptransportdt_socket,servery,suspendn,address5023 -Xms1024m -Xmx3072m -XX:MaxNewSize128m #!/bin/sh 配置的端口,是address ******&#…

ASP.NETCoreWeb開發之OptionsPattern

這節我們來講一下,在ASP.NET Core Web開發中,讀取配置文件信息的新方式:Options。前言 /Options在ASP.NET Web框架中,我們讀取配置文件中的數據,在不使用第三方框架的情況下,可能需要通過ConfigurationMana…

SpringMVC執行流程圖

2019獨角獸企業重金招聘Python工程師標準>>> 轉載于:https://my.oschina.net/u/2607324/blog/827946

CC框架實踐(1):實現登錄成功再進入目標界面功能

在掘金上看到這篇文章:android 關于先登錄成功后再進入目標界面的思考,作者對實現登錄成功后再跳轉到目標界面功能作了比較詳細的分析,對比了一些已有的實現方案并指出存在的問題。最終,作者實現了一個可同時添加多個條件判斷攔截的方案&…

yum search php7,yum install php7 in centos6

如果有安裝的PHP包,先刪除他們yum list installed | grep phpyum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64yum 安裝我們需要的軟件1.安裝epel軟…

CentOS 7系統安裝配置圖解教程

操作系統:CentOS 7.3 備注: CentOS 7.x系列只有64位系統,沒有32位。生產服務器建議安裝CentOS-7-x86_64-Minimal-1611.iso版本 一、安裝CentOS 7.3 成功引導系統后,會出現下面的界面 界面說明: Install CentOS 7 #安裝…

這份《.NET/C#面試手冊》超神啦!

這幾天給.neter們整理了一份《.NET/C#面試手冊》,目前大約4萬字左右,初衷也很簡單,就是希望在面試的時候能夠幫助到大家,減輕大家的負擔和節省時間。對于沒有跳槽打算的也可以復習一下相關知識點,就當是查缺補漏&#…

Dinic算法----最大流常用算法之一

——沒有什么是一個BFS或一個DFS解決不了的;如果有,那就兩個一起。 最大流的$EK$算法雖然簡單,但時間復雜度是$O(nm^2)$,在競賽中不太常用。 競賽中常用的$Dinic$算法和$SAP$,其實也不太難。 那么,$Dinic$算…

springcloud~Eureka實例搭建

服務端 build.gradle配置 dependencies {compile(org.springframework.cloud:spring-cloud-starter-netflix-eureka-server)testCompile(org.springframework.boot:spring-boot-starter-test) }dependencyManagement {imports {mavenBom "org.springframework.cloud:sprin…

php5.3教程,Php 5.3發布

PHP 5.3.4 特性: 增加對zip 流的統計支持 新增 follow_location (默認啟用)支持 增加一個 3rd parameter to get_html_translation_table Implemented FR #52348, added new constant ZEND_MULTIBYTE to detect zend multibyte at runtime. Multiple improvements t…

javascript學習筆記 null和undefined

null是javascript語言的關鍵字,它表示一個特殊值,常用來描述“空值”。對null執行typeof預算,結果返回字符串“object”,也就是說,可以將null認為是一個特殊的對象值,含義是“非對象”。但實際上&#xff0…

C# 為什么高手都是用IsNullOrWhiteSpace對字符串判空?

判斷字符串為空有好幾種方法:方法一: 代碼如下:static void Main(string[] args){string str "";if (str ""){Console.WriteLine("a is empty"); ;}Console.ReadKey();}運行結果:a is empty這樣…

使用bcftools提取指定樣本的vcf文件(extract specified samples in vcf format)

1、下載安裝bcftools。 2、準備樣本ID文件,這里命名為samplelistname.txt,一個樣本一行,如下所示: sample1 sample2 sample3 3、輸入命令: bcftools view -S samplelistname.txt /1000genomes/ALL.chr16.phase3_shapei…

iostat相關參數說明——await:平均每次設備I/O操作的等待時間 (毫秒),如果%util接近 100%,說明產生的I/O請求太多...

iostat是I/O statistics(輸入/輸出統計)的縮寫,iostat工具將對系統的磁盤操作活動進行監視。它的特點是匯報磁盤活動統計情況,同時也會匯報出 CPU使用情況。同vmstat一樣,iostat也有一個弱點,就是它不能對某…

php里面sql是什么意思,MySQL和SQL是什么?MySQL和SQL之間的區別有哪些

MySQL和SQL之間的區別有哪些?很多PHP的初學者,對MySQL,MyAdmin和SQL有什么區別并不是很清楚?下面 第一PHP社區 就帶領大家來學習一下MySQL和SQL之間的區別。【推薦閱讀:MySQL什么意思】一:什么是SQLSQL是一…

Blazor University (51)依賴注入 —— 擁有多個依賴項:錯誤的方式

原文鏈接:https://blazor-university.com/dependency-injection/component-scoped-dependencies/owning-multiple-dependencies-the-wrong-way/擁有多個依賴項:錯誤的方式OwningComponentBase[1] 類是一個合適的解決方案,當我們需要我們的組件…

Centos的yum源更換為國內的阿里云源

1、備份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2、下載新的CentOS-Base.repo 到/etc/yum.repos.d/ CentOS 5 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo 或者 curl -o /etc/yum.repo…

Centos 7 搭建.net web項目

現在的.NET Core 1.0版本是一個很小的核心,APIs和工具也并不完整,但是隨著.Net Core的不斷完善,補充的Apis和創新也會一起整合到.NET Framework中。 安裝centos系統 請自行安裝或百度教程 安裝 libicu包 和 dotnet 溫馨提示:如果需…

Effective Objective-C 2.0 編寫高質量iOS與OS X代碼的52個有效方法筆記-協議與分類...

23、通過委托與數據源協議進行對象間通信 如果要在委托對象上調用可選方法,那么必須提前使用類型信息查詢方法判斷這個委托對象能否響應相關選擇子。 if ( [_delegate respondsToSelector:selector(networkFetcher:didReceiveData:)]){ [_delegate networkFetcher:s…