1.框架決定--由於代碼運行須要環境,有了可以運行在 Windows和Linux下面的 CLR.
2.netCore有了個 kestrel(具體的解釋去查詢下).跨平臺的適用於ASP.NET Core的WEB服務器。角色相似 IIS,他不是IIS, 簡單的說 kestrel的性能高,功能少,在Linux下性能更高,不支持反向代理。
html
先來看一下.NET Framework和Core的大致結構web
NET Framework自己是個"跨Windows"的平臺, 而在這個基礎上, 又支持C#和VB等語言進行 "跨語言",
這些語言都遵照CLS, 編譯成CIL執行. 從咱們多層架構設計的角度來看, 只換最底層, 仍是很可行的.
.NET Core 重作了一個CoreCLR的運行時,以及一個叫作CoreFX的BCL. 這裏要說一下, ASP.NET Core 徹底做爲 NuGet 包的一部分提供。
這樣一來,能夠將應用優化爲只包含必需 NuGet 包, 使應用更加靈活、模塊化的同時提升性能.
服務器
.NET Core經過實現.NET Standard與 .NET Framework作兼容.架構
至於跨平臺, 由於90%的CoreFX代碼都是與平臺無關的框架
https://www.cnblogs.com/huaan011/p/12204883.html模塊化
https://blog.csdn.net/webdaoyang/article/details/79958098性能