1.框架決定--因為代碼運行需要環境,有了能夠運行在 Windows和Linux下面的 CLR.
2.netCore有了個 kestrel(具體的解釋去查詢下).跨平台的適用於ASP.NET Core的WEB服務器。角色類似 IIS,他不是IIS, 簡單的說 kestrel的性能高,功能少,在Linux下性能更高,不支持反向代理。
先來看一下.NET Framework和Core的大體結構
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