维耳乐,德文卷毛猫,卫辉市实验小学
本周终于发布了.net core 2.2,asp.net core 2.2以及entity framework core 2.2,虽然更大的新闻可能是.net core 3.0的特性公布,但不妨先将现有的.net core版本升级到2.2,及时体验一下新的功能。
分层编译特性使得运行时可以更灵活地使用jit编译器,从而提升在启动方面和最大化吞吐量上的性能。该特性在.net core 2.1时已作为可选特性加入其中,在.net core 2.2的预览版本中被默认使用,而到了最终发布阶段,还是改回了可选特性。.net core 3.0之后或许会成为默认选项吧。
为了获悉在运行应用程序时服务的工作情况,需要监测在当前进程中的诸如垃圾回收,jit和线程池等运行时服务。在windows系统中,一般etw(event tracing for windows) 的监测功能就可以满足此要求。但在.net core 2.2之前,etw的执行效果并不令人如意。
现在, 通过eventlistener类可以使用coreclr事件。这些事件描述了垃圾回收,jit,线程池和interop的行为。它们在windows上作为coreclr etw provider的一部分对外公开。这将允许应用程序可以使用这些事件,又或者使用传输机制发送给其它监测服务。
sql server的ado.net provider,sqlclient,现在支持通过设置accesstoken属性以认证使用azure active directory的sql server连接。该属性包含在microsoft.identitymodel.clients.activedirectory类库里。
现在通过startup hook可以在运行应用程序的main方法之前插入特定的代码。对于已经发布的应用程序,不用重新编译或者改变程序,startup hook能够定制所需的行为。
与.net core 2.1中对linux arm32支持相似的,在.net core 2.2里加入了对windows arm32的支持。但在发布时遇到了较严重的bug,所以可能在之后的版本中,比如2019年1月即将发布的.net core 2.1.1中会真正附加此特性。
net core 2.2支持下列操作系统:
芯片支持包括:
这次的更新主要是为了提高开发者的生产力以及增强创建web/http api的功能。同时,也在性能方面有所改善。这些更新包含以下几点:
空间数据可以用于表示物理距离和目标形状。在ef core 2.2中借助nettopologysuite类库的帮助对空间数据提供了支持。当前已支持的数据库包括sql server,sqlite和postgresql。
所有型实体中仅可以出现其它实体类型的导航属性。
ef core 2.0中新加了一对一关联的所有型实体,而在ef core 2.2中则进一步地扩展到了一对多的关联。
该特性简化了代码中linq语句与日志中生成的sql语句之间的关联。
加上标签的方法是tagwith。
var nearestfriends = (from f in context.friends.tagwith(@"this is my spatial query!") orderby f.location.distance(mylocation) descending select f).take(5).tolist();
最后生成的sql语句中包含了linq代码中附加的标签。
-- this is my spatial query! select top(@__p_1) [f].[name], [f].[location] from [friends] as [f] order by [f].[location].stdistance(@__mylocation_0) desc
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论