网站首页 > 开源技术 正文
下面针对 ASP.NET Core 中修改默认端口的五种常用方法的详细示例,分别对应 appsettings.json 配置 Kestrel 的 Endpoint、使用 UseUrls 方法、命令行参数方法、host.json 配置方法和使用 Docker 的方式。
方法一:appsettings.json 配置 Kestrel 的 Endpoint
- 在 appsettings.json 中添加端口配置:
{
"Kestrel": {
"EndPoints": {
"Http": {
"Url": "http://localhost:5001"
}
}
}
}
- 在 Startup.cs 中读取配置:
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
public class Startup
{
private readonly IConfiguration _configuration;
public Startup(IConfiguration configuration)
{
_configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
// 添加服务配置
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// 其他中间件配置
var url = _configuration["Kestrel:EndPoints:Http:Url"];
// 使用 Kestrel Endpoint
app.Run(async (context) =>
{
await context.Response.WriteAsync(#34;Hello from {url}!");
});
}
}
方法二:UseUrls 方法
在 Program.cs 中使用 UseUrls 方法来指定应用程序的 URL。
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseUrls("http://localhost:5001", "https://localhost:5002"); // 在这里指定端口号
webBuilder.UseStartup<Startup>();
});
}
方法三:命令行参数方法
通过命令行参数在启动应用程序时指定端口。
dotnet run --urls "http://localhost:5001"
方法四:host.json 配置方法
在项目根目录下创建 hosting.json 文件,指定端口配置。
{
"urls": "http://localhost:5001"
}
方法五:使用 Docker 方法
在 Dockerfile 中设置环境变量,然后在 docker-compose.yml 文件中映射端口。
Dockerfile:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY bin/Release/netcoreapp3.1/publish/ App/
ENTRYPOINT ["dotnet", "App/YourApp.dll"]
docker-compose.yml:
version: '3.4'
services:
web:
build:
context: .
dockerfile: Dockerfile
ports:
- "5001:80" # 映射容器端口到主机端口
通过以上五种方法,你可以根据需要选择适合你的项目的方式来修改 ASP.NET Core 应用程序的默认端口。请根据你的需求选择其中一种或多种方法。
猜你喜欢
- 2024-10-03 1.netcore入门(.net core 3.1教程)
- 2024-10-03 .Net5 vue2.0通用权限管理系统(vue权限管理实现)
- 2024-10-03 微软的第一天Build大会主题内容(微软的第一天build大会主题内容是什么)
- 2024-10-03 微软.NET Core的开源之路(.net framework 开源)
- 2024-10-03 Linux中以单容器部署Nginx+ASP.NET Core
- 2024-10-03 ASP.NET Core 3.1入门教程(二)(asp.net core怎么样)
- 2024-10-03 架构师修炼之微服务部署 - Docker简介
- 2024-10-03 ASP.NETCore统一处理404错误都有哪些方式?
- 2024-06-24 ASP.NET Core依赖注入原理详解与Autofac库深度集成实践
- 2024-06-24 ASP.NET Core 3.1 入门教程(三)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)