亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

.Net8?WebAPI項目創(chuàng)建部署的實現

 更新時間:2025年05月08日 09:36:46   作者:SmileGift  
本文主要介紹了.Net8?WebAPI項目創(chuàng)建部署的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

本著學新不學舊的原則,.Net Core會逐步替代.Net Framework,并且是開源框架,能用在什么地方懂的都懂。本文記錄了Net8框架下的Web API項目創(chuàng)建到部署過程。

1、創(chuàng)建項目

新建項目選擇ASP.NET Core Web API,太多了的話可以在上面篩選

如果沒有去VS Installer添加“ASP.NET 和 Web開發(fā)”模塊并安裝。

安裝

創(chuàng)建項目

配置項目

配置HTTPS:方便測試不勾選。
不使用頂級語句:勾選后是傳統(tǒng)的Program類中定義Main函數入口;不勾選直接就是指令有點抽象不符合C#習慣,夠不夠選看個人。
使用控制器:不勾選會在Program中寫方法,看著亂,建議勾選。

項目配置

2、項目結構和解釋

項目結構

項目結構

Main函數配置解釋:

namespace WebAPI記錄
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var builder = WebApplication.CreateBuilder(args);

            // Add services to the container.

            builder.Services.AddControllers();

            //注入swagger
            // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
            builder.Services.AddEndpointsApiExplorer(); //生成文檔
            builder.Services.AddSwaggerGen();   //設置文檔內容

            var app = builder.Build();

            // Configure the HTTP request pipeline.
            if (app.Environment.IsDevelopment())    //只有當程序處于debug的情況才開啟swagger
            {
                //分別注入中間件和ui中間間
                app.UseSwagger();
                app.UseSwaggerUI();
            }

            app.UseAuthorization();


            app.MapControllers();

            app.Run();
        }
    }
}

Controller解釋:

using Microsoft.AspNetCore.Mvc;

namespace WebAPI記錄.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class WeatherForecastController : ControllerBase
    {
        private static readonly string[] Summaries = new[]
        {
            "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
        };

        private readonly ILogger<WeatherForecastController> _logger;

        public WeatherForecastController(ILogger<WeatherForecastController> logger)
        {
            _logger = logger;
        }

		// http://ip:port/WeatherForecast
        [HttpGet(Name = "GetWeatherForecast")]	// 創(chuàng)建Get請求
        public IEnumerable<WeatherForecast> Get()
        {
            return Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
                TemperatureC = Random.Shared.Next(-20, 55),
                Summary = Summaries[Random.Shared.Next(Summaries.Length)]
            })
            .ToArray();
        }
    }
}
.ToArray();
        }
    }
}

LaunchSettings.json配置文件:

記錄了端口配置信息等。

{
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:12692",
      "sslPort": 0
    }
  },
  "profiles": {
    "http": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "launchUrl": "swagger",
      "applicationUrl": "http://localhost:5053",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

3、本地運行

可以選擇http或者IIS方式運行,端口見上面json內的配置

運行方式

運行效果

Debug模式下會進入Swagger頁面(見上面Main函數注釋),以UI形式方便觀察測試接口和結果

Swagger

Swagger

點擊Execute查看請求URL和返回結果

本地測試

至此本地測試完成

4、生成項目

選擇菜單欄中的 生成 -> 發(fā)布。

目標可以選文件夾,簡單一點

發(fā)布

默認路徑是生成文件夾下的publish目錄

發(fā)布

點擊發(fā)布編譯生成項目

發(fā)布

編譯

生成成功后可以直接到生成目錄下:

生成

5、服務器遠程部署(Windows)

部署環(huán)境:Window Server 2016

(1)安裝IIS

這邊簡單寫了,詳細自行查詢

服務器管理器 -> 添加功能 -> 安裝IIS

(2)安裝NetCore運行時

進入微軟官網下載運行時Download .NET 8.0 (Linux, macOS, and Windows),選擇HostBundle包即可。

NETCore

安裝完后,右鍵找到IIS管理器:

IIS

在模塊下出現AspNetCoreModuleV2表示安裝成功:

在這里插入圖片描述

在這里插入圖片描述

(3)配置IIS

添加應用程序池:

應用程序池

輸入名稱,選擇”無托管代碼“:

應用程序池

將發(fā)布生成的文件夾傳到服務器上去,過程略。

IIS添加網站:

應用程序池選擇剛才創(chuàng)建的
物理路徑選擇剛才上傳的文件夾
綁定的端口選擇空端口(不用和項目中json配置的一樣)

添加網站

編輯權限中創(chuàng)建一個完全控制權限的賬戶

創(chuàng)建用戶權限

點擊”啟動“運行,發(fā)現什么都沒有。別忘記我們做的是API不是網站,地址換成接口URL就有了

測試結果

測試結果

Postman遠程測試也沒有問題:

POSTMAN測試

6、新增自定義接口

Controllers文件夾添加控制器

新增控制器

新增控制器

命名方式注意以Controller結尾

新增控制器

創(chuàng)建好后代碼自動繼承Controller。

[Route(“[controller]”)]表示URL以類名MyAPI為路由地址,希望其他地址直接改字符串就行。

列舉了4個請求的例子:

using Microsoft.AspNetCore.Mvc;

namespace WebAPI記錄.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class MyAPIController : Controller
    {
        // http://ip:port
        [HttpGet]
        public string GetString()
        {
            return "Hello";
        }

        // http://ip:port/myapi/id
        [HttpGet("id")]
        public string GetStringByID([FromHeader]int id) // FromHeader屬性表示從請求頭獲得參數
        {
            return "Hello " + id.ToString();
        }

        // http://ip:port/myapi/result
        [HttpGet("result")]
        public IActionResult GetStringResult()
        {
            var data = new { Message = "Hello" };
            return Ok(data);    // Ok返回包含請求數據的HTTP 200
        }

        // http://ip:port/postdata
        [HttpPost("postdata")]
        public IActionResult PostData([FromBody] DataModel data)    // FromBody屬性表示從請求的Body中讀取并轉為DataModel類
        {
            // 在這里處理接收到的數據
            return CreatedAtAction(nameof(PostData), null, new { Message = data }); // CreatedAtAction返回包含創(chuàng)建資源的 URL 的 HTTP 201 響應
        }
    }
}

DataModel類:

namespace WebAPI記錄
{
    public class DataModel
    {
        public string Name { get; set; }
        public int Value { get; set; }
    }
}

運行后已經可以訪問結果了

運行結果

測試結果:

測試結果

測試結果

測試結果

到此這篇關于.Net8 WebAPI項目創(chuàng)建部署的實現的文章就介紹到這了,更多相關.Net8 WebAPI創(chuàng)建部署內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • asp.net 下拉列表無級數據綁定實現代碼

    asp.net 下拉列表無級數據綁定實現代碼

    asp.net 下拉列表無級數據綁定實現代碼,需要的朋友可以參考下。
    2010-10-10
  • asp.net傳多個值到其它頁面的具體實現

    asp.net傳多個值到其它頁面的具體實現

    在頁面之間的跳轉,經常會用到傳值,其中可能會傳遞多個值,下面為大家介紹下asp.net傳多個值到其它頁面的方法,需要的朋友可以參考下
    2014-02-02
  • Asp.net 頁面導航的幾種方法與比較 分享

    Asp.net 頁面導航的幾種方法與比較 分享

    在ASP.NET應用中,Web表單之間的導航有多種方式:用超級鏈接,用Response.Redirect,用Server.Transfer,或者用Server.Execute。本文將分析這四種導航方式的異同及其優(yōu)缺點,幫助你選擇最佳的導航方式。
    2013-07-07
  • asp.net Textbox服務器控件

    asp.net Textbox服務器控件

    這篇文章介紹了asp.net Textbox服務器控件的簡單實例,有需要的朋友可以參考一下
    2013-09-09
  • .netcore 寫快遞100的快遞物流信息查詢接口的實現

    .netcore 寫快遞100的快遞物流信息查詢接口的實現

    這篇文章主要介紹了.netcore 寫快遞100的快遞物流信息查詢接口,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • DataGridView右鍵菜單自定義顯示及隱藏列功能

    DataGridView右鍵菜單自定義顯示及隱藏列功能

    WinForm程序中表單的列可自定義顯示及隱藏,是一種常見的功能,對于用戶體驗來說是非常好的。這篇文章主要介紹了DataGridView右鍵菜單自定義顯示及隱藏列功能,需要的朋友可以參考下
    2019-11-11
  • ASP.NET MVC下的四種驗證編程方式[續(xù)篇]

    ASP.NET MVC下的四種驗證編程方式[續(xù)篇]

    ASP.NET MVC支持四種服務端驗證的編程方式(“手工驗證”、“標注ValidationAttribute特性”、“讓數據類型實現IValidatableObject或者IDataErrorInfo”),那么在ASP.NET MVC框架內部是如何提供針對這四種不同編程方式的支持的呢?本篇文章就來聊聊這背后的故事。
    2016-12-12
  • asp將本地的文件上傳到服務器

    asp將本地的文件上傳到服務器

    如果你想把自己機器的圖片或者文件放到服務器上該怎么辦呢?<BR>可選有三種辦法ftp上傳、用u盤拷貝到服務器上、如果服務器支持asp上傳功能,用網頁瀏覽器將文件上傳到服務器上
    2015-09-09
  • 基于.Net中的數字與日期格式化規(guī)則助記詞的使用詳解

    基于.Net中的數字與日期格式化規(guī)則助記詞的使用詳解

    本篇文章是對.Net中的數字與日期格式化規(guī)則助記詞的使用進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • Asp.Net Couchbase Memcached圖文安裝調用開發(fā)

    Asp.Net Couchbase Memcached圖文安裝調用開發(fā)

    本文主要是是如何安裝CouchBase服務端,以及客戶端如何進行調用。圖文詳解,大家參考吧
    2013-11-11

最新評論