圖文說明,注意流量.
開發環境
- Visual Studio 2019
- .net core 2.x
打開VS,建立項目


建好之后就像下面這樣

繼續再建立兩個.net core類庫項目分別是 ApiStudy.Core 和 ApiStudy.Infrastructure
- 右擊解決方案,新建項目.

- 選擇 .NetCore類庫項目.

- 輸入項目名.

- ApiStudy.Core項目建立完成
- 同樣的方法再建立ApiStudy.Infrastructrue 項目.
- 完成之后如圖

- 然后設置依賴關系

項目結構
一個解決方案下三個項目:
- Xxxx.Core
放一些核心的東西,比如 Entity(實體) 類和一些接口 - Xxxx.Infrastructure
放一些數據庫連接之類(DbContext)的和一些服務 - Xxxx.Api
客戶端項目
修改 StartUp 類代碼
namespace ApiStudy.api
{
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
public class Startup
{
public IConfiguration Configuration { get; }
public StartupDevelopment(IConfiguration configuration)
{
Configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseDeveloperExceptionPage();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
}
注意, services.AddControllers(); 和 endpoints.MapControllers(); 方法成對出現, 這是.net core3.0中的最新寫法
ConfigureServices方法
用來向容器中注冊服務,注冊好的服務可以在其他地方進行調用.
Configure方法
用來配置中間件管道,即如何響應http請求.

為開發環境和生產環境配置不同的 Startup
將 Startup 類修改為 StartupDevelopment
新建 StartupProduction 類
StartupProduction
namespace MyBlog
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
public class StartupProduction
{
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseHttpsRedirection();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
}
修改 Program類的代碼

配置使用的 Startup 類
webBuilder.UseStartup(Assembly.GetExecutingAssembly().GetName().FullName);
netcore會根據這里配置的環境是來選擇使用哪個Startup類

Development -> StartupDevelopment
Production -> StartupProduction
新建一個Controller

代碼如下:
namespace ApiStudy.Api.Controllers
{
using Microsoft.AspNetCore.Mvc;
[Route("api/[controller]")]
[ApiController]
public class UserController:Controller
{
public IActionResult Get()
{
return Ok("Hello");
}
}
}
修改lauchSetting.json, 刪除iis有關的部分, 如下:
{
"profiles": {
"ApiStudy.api": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
F5運行
瀏覽器訪問 https://localhost:5001/api/user

