首页 > 编程语言 >ASP.NET Core 6 (.NET 6) 配置使用kestrel server

ASP.NET Core 6 (.NET 6) 配置使用kestrel server

时间:2024-07-01 16:33:47浏览次数:21  
标签:Core ASP appsettings app options var NET builder

原文链接:https://blog.csdn.net/weixin_52026996/article/details/135929070

简介:
Kestrel 是一个跨平台的、开源的、轻量级的 HTTP 服务器,它是 ASP.NET Core 的默认 Web 服务器。Kestrel 是跨平台的,因此可以在不同的操作系统上运行,包括 Windows、Linux 和 macOS。本文主要介绍ASP.NET Core 6中kestrel 的配置及使用。

1、配置代码
配置方法有两种,具体如下,

1)代码中配置

var builder = WebApplication.CreateBuilder(args);


builder.WebHost.ConfigureKestrel(options =>
{
    options.ListenAnyIP(5001); // 端口
    options.ListenAnyIP(7001, configure => configure.UseHttps()); // https 端口
});

var app = builder.Build();

  

2)使用appsettings.json 配置

appsettings.json :

{
  "Kestrel": {
    "Endpoints": {
      "Http": {
        "Url": "http://localhost:5000"
      }
    }
  }
}

  Program.cs:

builder.Configuration.SetBasePath(app.Environment.ContentRootPath)
  .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
  .AddJsonFile($"appsettings.{app.Environment.EnvironmentName}.json", optional: true)
  .AddEnvironmentVariables();

  2、项目中完整代码
Program.cs 文件内容如下:

using Microsoft.OpenApi.Models;
using NLog.Web;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Logging.ClearProviders();
builder.Host.UseNLog();
builder.Services.AddControllers();

builder.Services.AddEndpointsApiExplorer();

builder.WebHost.ConfigureKestrel(options =>
{
    options.ListenAnyIP(5001); // 端口
    options.ListenAnyIP(7001, configure => configure.UseHttps()); // https 端口
});

var app = builder.Build();
ServiceLocator.Instance = app.Services;
//获取 appsettings.json 中配置
var config = app.Configuration;
var smtpServer = config["settings:SmtpServer"];
//app.UseAuthentication();
//app.UseAuthorization();
app.UseDefaultFiles();
app.UseStaticFiles();
app.MapControllers();

  未使用 IIS 托管时,ASP.NET Core 项目模板默认使用 Kestrel。 在下面的模板生成的 Program.cs 中,WebApplication.CreateBuilder 方法在内部调用 UseKestrel()。

标签:Core,ASP,appsettings,app,options,var,NET,builder
From: https://www.cnblogs.com/Dongmy/p/18278327

相关文章

  • k8s-11-Kubernetes原理
    Kubernetes原理控制平面负责控制并使得整个集群正常运行。Etcd分布式持久化存储API服务器调度器控制器管理器工作节点负责容器的运行任务kubeletkube-proxy容器运行时(Docker、rkt等)附加组件DNS服务器仪表盘Ingress控制器Heapster(容器集群监控)容器......
  • hypernetwork在SD中是怎么工作的
    大家在stablediffusionwebUI中可能看到过hypernetwork这个词,那么hypernetwork到底是做什么用的呢?简单点说,hypernetwork模型是用于修改样式的小型神经网络。什么是StableDiffusion中的hypernetwork?Hypernetwork是由NovelAI开发的一种微调技术,NovelAI是StableDiffus......
  • [Aspire] Run session could not be started
    ErrordetailsRunsessioncouldnotbestarted:failedtoconnectedtoIDErunsessionnotificationendpoint:tls:failedtoverifycertificate:x509:certificatehasexpiredorisnotyetvalidSolutionRunningthedotnetdev-certscommandsbelowtore-g......
  • Identity-aware Graph Neural Networks
    目录概ID-GNNYouJ.,Gomoes-SelmanJ.,YingR.andLeskovecJ.Identity-awaregraphneuralnetworks.AAAI,2021.概提出了一种能够超越1-WL-Test的GNN.ID-GNNID-GNN的motivation主要如下:主要到,传统的MPNN,即第\(k\)层:\[\mathbf{m}_u^{(k)}=\t......
  • 一文带您了解Fiddler的家族产品:Fiddler Classic、FiddlerCore、Fiddler和Cap、Fiddler
    最近更新了一下Fiddler(好久没更新了),然后浏览了一下官方网站,发现fillder的变化还是蛮大的,新出了好多产品,在这里我就把这些产品进行汇总比较,便于大家快速了解,快速选择自己需要的产品!Fiddler版本介绍FiddlerClassic(经典版)我们最为熟知的版本,这个版本是免费的,不过只能在Window......
  • 记一次 .NET某网络边缘计算系统 卡死分析
    一:背景1.讲故事早就听说过有什么网络边缘计算,这次还真给遇到了,有点意思,问了下chatgpt这是干嘛的?网络边缘计算是一种计算模型,它将计算能力和数据存储位置从传统的集中式数据中心向网络边缘的用户设备、传感器和其他物联网设备移动。这种模型的目的是在接近数据生成源头的......
  • .NET 缓存
    原文链接:https://blog.csdn.net/dabusidede/article/details/124858045内存缓存包:Microsoft.Extensions.Caching.Memory1.注册内存缓存services.AddMemoryCache();2.基本使用示例publicclassWorker:BackgroundService{privatereadonlyILogger<Worker>_logg......
  • 解决.NET Core Ajax请求后台传送参数过大请求失败问题
    原文链接:https://www.cnblogs.com/xiongze520/p/14500156.html今天在项目上遇到一个坑,在.NetCore中通过ajax向mvc的controller传递对象时,控制器(controller)的方法一直没有进去,百思不得其解,后面把传递的参数打印出来发现传递的参数比较大,有2.4M的数据,如下图:后面跟踪项目发现we......
  • 使用.Net6中的System.Text.Json遇到几个常见问题及解决方案
    原文链接:https://blog.csdn.net/zls365365/article/details/124162096前言以前.NetCore是不内置JSON库的,所以大家都用Newtonsoft的JSON库,而且也确实挺好用的,不过既然官方出了标准库,那更方便更值得我们多用用,至少不用每次都nuget安装Newtonsoft.Json库了。字符编码问题默认的S......
  • CentOS 7报错Erro:NetworkManager is not running怎么处理?
    CentOS7系统报错Error:NetworkManagerisnotrunning,意思是NetworkManager未在运行,NetworkManager是Linux系统上管理网络设置的守护进程,负责自动处理和配置网络连接,未运行可能会导致网络连接问题。遇到报错Error:NetworkManagerisnotrunning我们该如何处理呢?今天飞飞和你分......