netcore 学习
一?
?
.NET Core 2.0發布之后,實際上是實現了.NET Standard 2.0 約等于 .NET Framework 4.6.1。
以后就可以放心的使用 ASP.NET Core on Linux,比跑在Mono上放心。
從.NET平臺遷移到.NET Core必將是趨勢。
.NET core 與 .NET Framework的區別
.NET Core 就是 .NET Framework的區別的開源且跨平臺版本。
微軟抽象出來一個標準庫,.NET Core 與 .NET Framework 都必須實現標準庫的API ,就這樣 .NET Core、.NET Framework、XAMARIN成了三兄弟,分別為不同的平臺服務。
?
二
?
ASP.Net Core 優點
? ? 內置依賴項注入;
? ? 輕型的高性能模塊化HTTP請求管道;
? ? 可以使用并行應用版本控制;
? ? 能夠在Windows、maxOS、Linux進行生成和運行;
ASP.Net Core 完全作為NuGet包的一部分提供;
使用ASP.Net Core MVC 生成Web API 和 Web UI? ?
使用 ASP.Net Core 構建 Web API
添加控制器
? ? 右擊 控制器 文件夾,添加-新建項;在 添加新項 對話框中,選擇 API 控制器類模板;
從ControllerBase派生類
? ? BadRequest和CreateAtAction方法,分別返回 HTTP 400和201 狀態代碼。
? ? 將使用ModelState屬性執行請求模型驗證。
使用ApiControllerAttribute批注類
? ? [!code-csharp]
? ? 此特性通常與ControllerBase配合使用以獲得其他有用的方法和屬性。通過ControllerBase可使用NotFound和File等方法。
綁定源參數推理
[FromBody] ? ?請求正文
[FromForm] ? ?請求正文中的表單數據
[FromHeader] ? ?請求標頭
[FromQuery] ? ?請求查詢字符串參數
[FromRoute] ? ?當前請求中的路由數據
[FromServices] ? ?作為操作參數插入的請求服務
netcore Web API 中的控制器操作返回類型
? ? 控制器可以返回:特定類型;IActionResult;ActionResult<T>;
? ? 當操作中可能有多個ActionResult返回類型時,適合使用IActionResult返回類型。
? ? ActionResult類型表示多種HTTP狀態代碼。
ASP.NET Core 中的Razor頁面
? ? 是ASP.NET Core MVC 的一個新特性,它可以使基于頁面的編碼方式更簡單高效。
? ? Startup.cs中已啟用Razor頁面;
? ? @page使文件轉換為一個MVC操作,這樣文件將直接處理請求,而無需通過控制器處理。
? ? @page必須是頁面上的第一個Razor指令。
?
三?使用netcore命令創建第一個netcore的helloworld程序并運行
?
? ? 以下是控制臺的輸出;
G:\netcorePrj\test1>dotnet new console -o lpcorehelloworld
歡迎使用 .NET Core 3.0!
---------------------
SDK 版本: 3.0.100
遙測
---------
.NET Core 工具收集使用數據,以幫助我們改善你的體驗。數據是匿名的。它由 Microsoft 收集并與社區共享。你可以通過使用喜歡的 shell 將 DOTNET_CLI_TELEMETRY_OPTOUT 環境變量設置為 "1" 或 "true" 來選擇退出 遙測。
閱讀有關 .NET Core CLI 工具遙測的更多信息: https://aka.ms/dotnet-cli-telemetry
----------------
查看文檔: https://aka.ms/dotnet-docs
通過 GitHub 報告問題和查找源: https://github.com/dotnet/core
查找最新功能: https://aka.ms/dotnet-whats-new
了解已安裝的 HTTPS 開發者證書: https://aka.ms/aspnet-core-https
使用 "dotnet --help" 查看可用命令或訪問: https://aka.ms/dotnet-cli-docs
編寫你的第一個應用: https://aka.ms/first-net-core-app
--------------------------------------------------------------------------------------
Getting ready...
The template "Console Application" was created successfully.
Processing post-creation actions...
Running 'dotnet restore' on lpcorehelloworld\lpcorehelloworld.csproj...
? G:\netcorePrj\test1\lpcorehelloworld\lpcorehelloworld.csproj 的還原在 125.37 ms 內完成。
Restore succeeded.
G:\netcorePrj\test1>lpcorehelloworld
'lpcorehelloworld' 不是內部或外部命令,也不是可運行的程序
或批處理文件。
G:\netcorePrj\test1>dotnet run
找不到要運行的項目。請確保 G:\netcorePrj\test1 中存在項目,或使用 --project 傳遞項目路徑。
G:\netcorePrj\test1>dotnet run lpcorehelloworld
找不到要運行的項目。請確保 G:\netcorePrj\test1 中存在項目,或使用 --project 傳遞項目路徑。
G:\netcorePrj\test1>cd lpcorehelloworld
G:\netcorePrj\test1\lpcorehelloworld>dotnet run
Hello World,XXKJ,netcore one test!
G:\netcorePrj\test1\lpcorehelloworld>
?
四 圖圖說明
netcore基本結構;網上摘錄的圖;
netcore 安裝信息;本機情況;
安裝了2.1和3.0SDK以后的目錄結構;本機情況;
?
?
?
?
總結
以上是生活随笔為你收集整理的netcore 学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 控制台和Win32 API程序输出变量地
- 下一篇: C语言数组学习 - 使用窗口版程序演示