ASP.NET-框架分類與詳解

Rukh發表於2024-07-09

本文介紹了ASP.NET框架,涵蓋了WebForms的事件驅動模型、MVC的解耦結構和WebAPI的HTTP服務構建。討論了三種框架的特點、適用場景及開發流程,強調了ASP.NET在企業級Web開發中的重要性.

一、ASP.NET框架概述
ASP.NET是由微軟公司推出的一種基於.NET框架的伺服器端Web應用程式開發技術。它提供了豐富的工具和框架,用於開發各種規模的Web應用程式和服務。ASP.NET具有高度的靈活性和可擴充套件性,適用於不同規模和複雜度的專案。

在ASP.NET的生態系統中,有許多不同的框架和工具可供開發人員選擇,以滿足不同的需求和開發場景。這些框架包括了ASP.NET Web Forms、ASP.NET MVC(Model-View-Controller)、ASP.NET Web API等,每種框架都有其獨特的特點和適用場景。

ASP.NET框架採用了一系列技術和模式,如ASP.NET Core、Entity Framework、LINQ、MVC、Web Forms、Web API等,這些技術和模式的綜合使用,使得ASP.NET能夠實現快速、高效、可靠的Web應用程式開發。

除了提供了基本的Web開發功能外,ASP.NET還支援在雲環境中進行部署和執行,同時具有強大的安全性、效能最佳化和監控工具,使得開發人員可以更加輕鬆地構建和維護現代化的Web應用程式。

ASP.NET框架的持續更新和發展,使其成為了企業級Web開發的首選技術之一,為開發人員提供了豐富的功能和工具,助力他們快速、高效地構建出優秀的Web應用程式。

二、主流ASP.NET框架
1、ASP.NET Web Forms
① 框架特點介紹
ASP.NET Web Forms是ASP.NET框架的一個組成部分,它採用類似於傳統Windows應用程式開發的事件驅動模型。開發者可以使用類似於WinForms的控制元件和事件來構建Web介面,並透過事件處理程式響應使用者操作。Web Forms提供了一種快速開發Web應用程式的方式,適合那些習慣於傳統桌面開發的開發者。

② 結構目錄介紹
ASP.NET Web Forms專案通常包含以下幾個重要的目錄:

 1 - WebApplication
 2   - App_Code
 3     - BusinessLogic.cs
 4     - DataAccess.cs
 5   - App_Data
 6     - Database.mdf
 7   - App_GlobalResources
 8     - Strings.resx
 9   - App_LocalResources
10     - Default.aspx.resx
11   - App_Themes
12     - Default
13       - Styles.css
14   - App_WebReferences
15     - WebService
16       - Service1.asmx
17   - Pages
18     - Default.aspx
19     - Default.aspx.cs
20     - Default.aspx.designer.cs
21     - Test.aspx
22     - Test.aspx.cs
23     - Test.aspx.designer.cs
24   - Controls
25     - CustomControl.ascx
26     - CustomControl.ascx.cs
27     - CustomControl.ascx.designer.cs
28   - Scripts
29     - Script1.js
30     - Script2.js
31   - Styles
32     - Style1.css
33     - Style2.css

說明:

App_Code:用於存放應用程式程式碼檔案(例如業務邏輯層、資料訪問層)。
App_Data:用於存放應用程式的資料檔案。
App_GlobalResources:用於存放全域性資原始檔。
App_LocalResources:用於存放區域性資原始檔。
App_Themes:用於存放應用程式的主題檔案。
App_WebReferences:用於存放Web服務的引用檔案。
Pages:存放頁面檔案,其中每個.aspx檔案都有對應的程式碼檔案(.aspx.cs)和設計檔案(.aspx.designer.cs)。
Controls:存放使用者自定義的控制元件檔案,同樣包含程式碼檔案和設計檔案。
Scripts:存放JavaScript檔案。
Styles:存放CSS樣式檔案。
③ 示例程式碼
aspx頁面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Label ID="Label1" runat="server" Text="Welcome to ASP.NET Web Forms!" />
        </div>
    </form>
</body>
</html>

aspx.cs程式碼:

using System;

namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Label1.Text = "Welcome to ASP.NET Web Forms!";
            }
        }
    }
}

2、ASP.NET MVC

① 框架特點介紹
ASP.NET MVC是一種基於模型-檢視-控制器(MVC)架構模式的Web應用程式開發框架。它將應用程式分為三個核心元件:模型(Model)、檢視(View)和控制器(Controller),實現了邏輯層和表示層的分離。MVC提供了更好的可測試性、更清晰的程式碼結構和更靈活的開發方式,適用於需要更多控制和自定義的專案。

② 結構目錄介紹
ASP.NET MVC專案通常包含以下幾個重要的目錄:

- WebApplication
  - Controllers
    - HomeController.cs
    - TestController.cs
  - Models
    - User.cs
    - Product.cs
  - Views
    - Home
      - Index.cshtml
      - About.cshtml
    - Test
      - Index.cshtml
      - Details.cshtml
  - App_Start
    - RouteConfig.cs

說明:

Controllers:存放控制器檔案,控制器負責處理使用者請求並返回相應的檢視。
Models:存放模型檔案,模型用於表示應用程式的資料結構。
Views:存放檢視檔案,每個控制器對應一個資料夾,其中包含與控制器方法對應的檢視檔案。
App_Start:存放配置檔案,例如路由配置檔案(RouteConfig.cs)。
③ 示例程式碼
cshtml 頁面:

<!DOCTYPE html>
<html>
<head>
    <title>Index</title>
</head>
<body>
    <h1>Welcome to our website!</h1>
    <p>This is the index page.</p>
    <ul>
        @foreach (var item in ViewBag.Items)
        {
            <li>@item.Name - @item.Description</li>
        }
    </ul>
</body>
</html>

MVC 控制器程式碼示例:

using System.Collections.Generic;
using System.Web.Mvc;

namespace WebApplication.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            List<Item> items = new List<Item>
            {
                new Item { Name = "Item 1", Description = "Description for Item 1" },
                new Item { Name = "Item 2", Description = "Description for Item 2" },
                new Item { Name = "Item 3", Description = "Description for Item 3" }
            };

            ViewBag.Items = items;
            return View();
        }
    }

    public class Item
    {
        public string Name { get; set; }
        public string Description { get; set; }
    }
}

說明:

cshtml 頁面示例展示了一個簡單的HTML頁面,其中使用了 Razor 語法來嵌入 C# 程式碼,迴圈展示了從控制器傳遞過來的資料。
控制器程式碼示例中的 HomeController 包含了一個 Index 方法,用於處理對應於 Index.cshtml 檢視的請求。在該方法中,建立了一個 Item 列表,並將其透過 ViewBag 傳遞給檢視。
3、ASP.NET Web API
① 框架特點介紹
ASP.NET Web API是一種用於構建HTTP服務的框架,可以為Web應用程式和移動應用程式提供資料和服務。它基於ASP.NET MVC框架,但專注於API開發,提供了RESTful風格的API,支援JSON和XML等多種資料格式。Web API簡化了構建和釋出Web服務的過程,使開發者能夠輕鬆地建立高效能的API應用程式。

② 結構目錄介紹
ASP.NET Web API專案通常包含以下幾個重要的目錄:

- WebApplication
  - Controllers
    - ApiController1.cs
    - ApiController2.cs
  - Models
    - Product.cs
    - Order.cs
  - App_Start
    - WebApiConfig.cs

說明:

Controllers:存放Web API控制器檔案,控制器負責處理客戶端發來的HTTP請求,並返回JSON或XML格式的資料。
Models:存放資料模型檔案,用於定義API返回的資料結構。
App_Start:存放Web API的配置檔案,例如路由配置檔案(WebApiConfig.cs)。
③ 示例程式碼

public class ValuesController : ApiController
{
    // GET api/values
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }

    // GET api/values/5
    public string Get(int id)
    {
        return "value";
    }
}

三、ASP.NET框架總結

在ASP.NET框架的眾多選項中,Web Forms、MVC和Web API是最為常見和流行的三種。它們各自具有獨特的特點和優勢,在不同的專案需求和開發場景中發揮著重要作用。

總結
框架 特點介紹
ASP.NET Web Forms - 採用事件驅動的程式設計模型
- 提供豐富的伺服器控制元件
- 自動化的頁面生命週期管理
- 適用於快速開發和構建功能豐富的Web應用程式
ASP.NET MVC - 輕量級、高度可控的框架
- 分解為模型、檢視和控制器
- 提供靈活和可測試的開發體驗
- 適用於構建可擴充套件的Web應用程式
ASP.NET Web API - 用於構建基於HTTP的服務
- 通常用於構建RESTful風格的API
- 提供簡單而靈活的方式來構建和釋出Web服務
- 適用於移動應用和SPA

無論是快速開發、更靈活的控制,還是構建高效能的API服務,ASP.NET框架都能夠滿足開發者的需求,為構建優秀的Web應用程式提供強大的支援。


原文連結:https://blog.csdn.net/weixin_41793160/article/details/136773053

相關文章