4.創建ASP.NET Core Web應用程式

来源:https://www.cnblogs.com/caofangsheng/archive/2020/04/04/12632776.html
-Advertisement-
Play Games

這篇文章中,我將教大家如何從頭到尾創建ASP.NET Core Web應用程式,這個系列,前面我已經寫了三篇文章,大家看這篇文章之前,可以先去熟悉一下前面的3篇文章,打一下基礎。在這篇文章中,我將和大家討論下麵兩個問題:使用Visual Studio 2019創建ASP.NET Core Web應用 ...


        這篇文章中,我將教大家如何從頭到尾創建ASP.NET Core Web應用程式,這個系列,前面我已經寫了三篇文章,大家看這篇文章之前,可以先去熟悉一下前面的3篇文章,打一下基礎。在這篇文章中,我將和大家討論下麵兩個問題:

  1. 使用Visual Studio 2019創建ASP.NET Core Web應用程式;
  2. ASP.NET Core應用程式創建的時候,有很多模板,這些模板有什麼不同,每個模板都會做什麼;

使用Visual Studio 2019創建ASP.NET Core Web應用程式

1.打開VS2019,選擇如圖所示選項:【Create a new project】

image

然後選擇—【ASP.NET Core Web Application】,然後點擊--【Next】按鈕:

image

然後輸入項目的名稱,項目存放位置,點擊創建:

image

然後選擇【Empty】模板,取消勾選HttpS選項,點擊創建:

image

Empty Project Template  空模板項目

創建的項目如下:

image

可以看到,空模板創建的項目,沒有其他任何內容。如果你想從頭到尾,乾乾凈凈的創建一個項目,那麼就選擇【Empty Template】,上面這個就是例子,我將使用上面這個例子,以便讓你們理解ASP.NET Core是如何把不同的組件組裝在一起,進行開發應用程式的。

空模板項目中的Program類的代碼:

image

空模板中,Startup類的代碼,可以看到輸出了一個Hello World.

image


Ctrl+F5運行項目:

image

可以看到輸出的是Hello World!,這樣我們就創建了一個空模板的ASP.NET Core  Web應用程式。並且向瀏覽器輸出了HelloWorld。

Web Application (Model-View-Controller) Template      -----Web應用程式(模型--視圖--控制器) 模板

image

創建的項目結構如下:

image

可以看到Web Application(Model-View-Controller)模板創建了Models,Views以及Controller文件夾,同樣還為我們創建了特別的文件,例如:JavaScript、CSS、Layout文件等等。這些都是創建Web應用程式所必須的。在下篇文章中,我將使用這個模板,來創建項目。

API Template

image

生成的項目結構:

image

API模板生成的項目結構,是用來開發ASP.NET Core Restful HTTP服務必不可少的。你可以看到,僅僅只有一個Controller文件夾。網站項目特有的東西,例如:CSS文件、JavaScript文件、視圖文件、佈局頁面等等,都不見了。這是因為今後API不需要,任何用戶界面,所以它不包含網站項目特有的那些文件。你應該也註意到:API模板生成的項目,也不包含Models,以及View文件夾,因為他們對於API項目模板來說也不是必須的。

Web Application Template

Web Application模板使用Razor Page來開發Web應用程式。有了Razor Pages,代碼就更加以頁面為中心,也就簡單得多,也就更高效了。我們可以使用這個模板,當我們想要開發Web應用程式,但是不想要ASP.NET MVC那樣的複雜度的時候。在接下來的文章中,我將會討論學習這個Razor Page,下麵的圖片顯示了使用Web Application 模板,生成的項目結構:

image

image

Razor Class Library (RCL)

        這個Razor Class Library(RCL)模板是用來創建可以重用的Razor Class Library項目。典型地,一個Razor Class Library項目,包含可以重用的用戶界面的東西,例如:數據模型(data models)、頁面模型(pages models)、頁面(pages)、控制器(controller)、視圖組件(View Components)、還有Razor視圖(Razor View)。

        一旦你創建了Razor Class Library(RCL)項目,然後就可以將其用到很多項目中。使用了Razor Class Library的應用程式,可以很靈活的重寫其視圖,以及頁面。在接下來的文章中,我將會詳細學習Razor Class Library項目。


Angular、React.js、React.js and Redux

image

你同樣可以選擇,這三個模板來創建ASP.NET Core Web應用程式。因為這三個用到了前端的框架,後面在學習。

在下篇文章中,我將帶領大家學習,ASP.NET Core 項目的文件,目錄結構。這篇文章中,我向大家介紹了,各個模板創建ASP.NET Core Web應用程式的區別。大家都學會了麽,有什麼不明白的,可以留言評論。我會一一解答,謝謝支持!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • #include<stdio.h> int main(void) { int a,b,c,d; printf("請輸入三個整數"); scanf("%d%d%d",&a,&b,&c); if (c>b) { d=b; b=c; c=d; } if (b>a) { d=a; a=b; b=d; } i ...
  • 1. 2.創建頭文件選擇C/C++ Header file 3.源程式文件與頭文件不在一個地址話,需要在導入的時候寫清楚頭文件所在地址 例如名為giligli.h的頭文件 #include”地址giligli.h” 4. 如圖D包含了兩個a 重覆定義會產生錯誤。利用條件編譯可以很好的避免重覆定義 # ...
  • 前言:在大一學習了C語言之後,基本掌握了一門面向過程的程式設計語言,本學期所學習的java是一門面向對象的語言,在問題的解決方面不像C一樣是以過程來思考問題,而是要以面向對象的思維來解決問題。此篇文章是對於本學期前三次Java作業的一個階段性總結,第一次作業花費了最多的時間,有一個測試點沒有過,第二 ...
  • 為表達全國各族人民對抗擊新冠肺炎疫情鬥爭犧牲烈士和逝世同胞的深切哀悼,國務院今天發佈公告,決定2020年4月4日舉行全國性哀悼活動。 當使用控制項模板時,需要決定如何更廣泛地共用模板,以及是否希望自動地或明確地位用模板。 第一個問題是關於希望在何處使用模板的問題。例如,是將它們限制在特定視窗中嗎?大多 ...
  • 2020年4月2日微軟.NET 團隊的項目經理 Richard 在博客上 發佈了.NET 5 Preview 2:https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-2/ ,3月16號,Scott Hunter 在博客中發 ...
  • 前言 命名空間已經在 .NET 中使用了多年,一直追溯到 .NET Framework 1.1。它在 .NET 實施本身的數百個位置中使用,並且直接被成千上萬個應用程式使用。在所有這些方面,它也是 CPU 消耗的重要來源。 但是,從性能角度來看,正則表達式在這幾年間並沒有獲得太多關註。在 2006 ...
  • 在這篇文章中,我將詳細講解ASP.NET Core Project File.如果你還沒看我這個系列的前面幾篇文章,先去看看,打好基礎,再來看這篇吧。 如果你使用過之前版本的.NET Framework,你就會知道,當你使用C#創建應用程式的時候,.NET Framework框架將會創建尾碼名為”. ...
  • 前言 在上一篇中簡單介紹了Linq的入門級用法,這一篇嘗試講解一些更加深入的使用方法,與前一篇的結構不一樣的地方是,這一篇我會先介紹Linq里的支持方法,然後以實際需求為引導,分別以方法鏈的形式和類SQL的形式寫出來。 前置概念介紹 1. 謂詞、斷言,等價於 即返回bool的表達式 2. 表達式樹, ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...