Asp.Net Core簡介
ASP.NET Core 是一個全新的開源、跨平台架構,可以用它來構建基於網路連接的現代雲應用程式,比如:Web 應用程式,IoT(Internet Of Things,物聯網)應用和移動後端等。ASP.NET Core可以運行在 .NET Core 或完整的 .NET Framework 之上,其架構為發布到雲端或本地啟動並執行應用提供了一個最佳的開發架構,由開銷很小的模組化組件構成,這就保持了你構造解決方案的靈活性。你可以跨平台地在Windows、Mac和Linux等裝置上開發和運行你的 ASP.NET Core 應用。ASP.NET Core 的原始碼已經在 GitHub 上託管。
Asp.net Core曆史
ASP.NET已經被使用來開發web應用程式很多年了。
一直以來,.net 架構經曆了一個不斷進化的過程,最後把我們帶到最近的ASP.Net Core1.0。
ASP.NET Core 不是ASP.NET 4.6的延續。這是一個全新的架構
它實際上重寫了現有的ASP.NET 4.6架構,但小得多,而且更加模組化。
有些人認為很多東西都是相同的,但這並不完全正確。ASP.NET Core相對於Asp.net發生了很多根本性的變化,在後續的課程中,我們將注意瞭解。
什麼是Asp.Net Core
ASP.NET Core 1.0 是一個開源跨平台的開發架構,用於構建雲端式的現代 Web 應用程式 。它是從底層開始重新構建來提供效能優良的Web應用開發架構,可以部署在雲上或者本機伺服器上。另外,它使得 ASP.NET 應用更加精簡和模組化(可以根據你的應用需要向裡面添加其他模組),跨平台(你可以很容易的在 Windows, Mac or Linux 上開發和部署你的應用),雲最佳化(你可以在雲上在雲上部署和調試你的應用)。
asp.net core特點:
跨平台
可以在Windows,macOS,Linux上運行
靈活的部署機制
1.Portable applications(攜帶型應用)
這種部署機制和傳統的.NET Framework相似,只要目標平台上存在.NET Core Runtime即可。
2.Self-contained application(自宿主應用)
顧名思義,這種部署機制將應用和運行時共同打包,即便目標平台上沒有安裝.NET Core Runtime也能正常使用。
第二種方式和.NET Native也是不一樣的,仍然使用CoreCLR,而.NET Native使用CoreRT作為運行時,詳細資料請見dotnet/corert。
命令列工具
.NET程式所有的運行指令碼都可以用命令列工具執行(cmd,bash)這裡有幾個常見的donnet命令
Asp.Net Core的優勢
ASP.NET Core有以下優勢:
ASP.NET Core相對於之前的版本有許多變化,才使得它成為一個更加靈活和模組化的架構。
ASP.NET Core不再是基於System.Web.dll,它基於一組分解在NuGet的包。
這使您可以根據實際需要來判斷是否引用相應的Nuget包,可以最佳化您的應用程式。
表面積更小的應用程式的好處包括安全更強、維修更少,提高效能,降低成本
使用ASP.NET Core開發程式,你可以得到以下的改進:
在Windows、Mac和Linux構建和運行跨平台的Asp.Net Core應用。
基於.NET Core的應用,支援真正的應用程式版本控制。
新的開發工具使得開發起來更簡單。
web UI和web api都有簡單一致的web堆棧。
雲端運算環境相關的配置。
對依賴注入的內建支援。
標籤助手使Razor標籤與HTML標記更自然。
能部署在IIS中,也能部署在自訂的宿主環境中。