【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

ASP.NET Core 3.0 项目开始“瘦身”

  • 2019-01-26
  • 本文字数:955 字

    阅读完需:约 3 分钟

ASP.NET Core 3.0项目开始“瘦身”

新的ASP.NET Core 项目使用名为Microsoft.AspNetCore.App的综合包。该包也可以称为“ASP.NET Core 共享框架”,其背后的基本思想是,包括一个典型的应用程序所需要的所有东西。但是,如果看看该包的依赖项,对“需要”的定义看起来相当宽松。


目前,Microsoft.AspNetCore.App 拥有 150 个明确列出的依赖项,7 个月前则是 144 项。其中有 9 个不同的认证提供程序包。


  • Cookies

  • Facebook

  • Google

  • JwtBearer

  • Microsoft Account

  • OAuth

  • OpenIdConnect

  • Twitter

  • WsFederation


还可以发现 8 个用于支持实体框架核心(Entity Framework Core)的包,其拥有 SQL Server、SQL Server 缓存库、用于诊断的 EF 核心包、用于标识的 EF 核心包等等。


从这 150 个依赖项列表中,31个将从ASP.NET Core 3.0 的共享框架中删去,因为它们违反了新的纳入标准


(1) 依赖我们无法提供服务的第三方代码

(2) 组件本身在 3.0 中被弃用

(3) 它们实施的协议或身份验证机制极易发生变化(比如,脸书/谷歌/推特转天就可以决定改变授权的工作方式)


ASP.NET Core 项目的高级软件工程师 Nate McMaster 接着说:


我们在 2.0 中添加了太多东西,我们正在重新调整以适应我们认为在可预见的道路上可维护的一套东西。大多数从 Microsoft.AspNetCore.App 中删除的组件仍将作为 NuGet 包提供给大家。如果我们将来发现 90%的客户都引用同样的包,那么该包将成为共享框架一个很好的候选项。但是,正如在指导文档中所提到的,API 的使用量是一个重要指标,但不是我们唯一考虑的因素。


对目前的项目有什么影响?


如果你决定升级到ASP.NET Core 3.0,再使用任何不在共享框架中的包的话应用程序将会崩溃。但是,要修复也很简单,只需要把被排除的包手动添加到你的工程中即可,就像添加任何其他 Nuget 样式的依赖项一样。


我实际需要什么包?


这个问题的答案取决于你的应用程序实际执行的操作。但是,如果我们只考虑一个简单的 REST 服务器,那么只需要直接引用这三个包:


  • Microsoft.AspNetCore

  • Microsoft.AspNetCore.Mvc

  • Microsoft.AspNetCore.HttpsPolicy


其中的第一个是 Microsoft.AspNetCore,它有 18 个直接依赖项。Mvc 添加了自己的 13 个依赖项,HttpsPolicy 添加了另外 5 个。这个数字不包括重叠或间接的依赖项,但是,仍然反映了一组更小更易管理的依赖项。


阅读英文原文:ASP.NET Core 3.0 Projects Go on a Diet


2019-01-26 00:006979
用户头像

发布了 199 篇内容, 共 81.8 次阅读, 收获喜欢 293 次。

关注

评论

发布
暂无评论
发现更多内容

一致性hash算法及java实现(转载,学习了)

王锟

架构师训练营第五周作业 设计分布式缓存系统

Melo

极客大学架构师训练营

架构师训练营-第五周-命题作业

sljoai

极客大学架构师训练营 第五周

嗯?阿里为啥不用 ZooKeeper 做服务发现?

Java小咖秀

zookeeper 分布式 技术人生

重学 Java 设计模式:实战模版模式「模拟爬虫各类电商商品,生成营销推广海报场景」

小傅哥

Java 设计模式 小傅哥 重构 代码规范

实现一致性哈希算法

Aldaron

【第九课 + 第十课】技术选型:缓存架构 + 消息队列与异步架构

Aldaron

视读——沟通的艺术,看入人里,看出人外(第一章)

废材姑娘

读书笔记 视觉笔记

面试官:为什么 HashMap 的加载因子是0.75?

哪吒来踢毽子

hashmap

高性能系统设计

dapaul

极客大学架构师训练营

可变对象和不可变对象

Leetao

Python Python基础知识

漫画:Integer 竟然有 6 种比较方式?

王磊

Java 编程 漫画 java编程 漫画编程

架构师训练营第 5 周作业——一致性Hash算法

在野

极客大学架构师训练营

第五次作业

王锟

架构师课程第五周总结

dongge

架构师训练第五周

Hanson

缓存、一致性哈希和负载均衡总结(训练营第五课)

看山是山

缓存 极客大学架构师训练营 一致性hash

架构师训练营第五周作业 一致性哈希

sunnywhy

ES5、ES6中继承的几种写法

Manito

Java

架构师训练第五周一致性Hash

Hanson

架构师训练营:第五周作业-一致性 hash实现

zcj

极客大学架构师训练营

分布式缓存总结

朱月俊

第5周作业

田振宇

真懂Spring的@Configuration配置类?你可能自我感觉太良好

YourBatman

Spring Boot Spring Framework @Configuration Spring配置类

小师妹学JVM之:JVM中的Safepoints

程序那些事

Java JVM 小师妹 性能调优 签约计划第二季

B站Up主自制秃头生成器,一键get张东升同款发型,网友:秃的太过真实

程序员生活志

程序员 B站 隐秘的角落 张东升 秃头生成器

架构师训练营作业 -- Week 5

吴炳华

极客大学架构师训练营

golang实现基于虚拟节点的一致性hash算法

朱月俊

华为厦门DevCloud创新中心正式揭牌,“上云用数赋智”新助力

Geek_116789

一致性哈希实现

娄江国

极客大学架构师训练营

Tomcat 架构原理解析到架构设计借鉴

码哥字节

Tomccat 「Java 25周年」

ASP.NET Core 3.0项目开始“瘦身”_语言 & 开发_Jonathan Allen_InfoQ精选文章