kestrel-http-server 相关问题

Kestrel是一个内置于ASP.NET Core的HTTP服务器。

Kestrel 自托管 Web API 连接超时

我有一个使用 .Net 6 的自托管 Web API。它部署为窗口服务。我可以使用域名和端口从浏览器进行本地访问,但无法从另一台机器上进行访问。我已经定义了

回答 1 投票 0

Asp.Net Core 应用程序仅在 Ubuntu 上监听端口 5000

我是.Net Core 的新手。我已在 Ubuntu 18.04.5 LTS 中托管了我的 .Net core 应用程序,并提到该端口需要在服务文件中运行。 [单元] 描述=我的网络应用程序 [服务]

回答 1 投票 0

Kestrel MaxRequestBodySize 上传文件超过限制

我确实遇到了红隼的奇怪问题。我无法上传超过 kestrel MaxRequestBodySize 的多个文件。 预期的行为是抛出 BadHttpRequestException...

回答 3 投票 0

如何在单个网站上运行多个 ASP.NET Core API?

我的网站托管在运行 IIS 的提供商处。 我不想创建一个单一的、无处不在的 Web 应用程序,而是创建多个单独的微服务并将它们存储在不同的文件夹中......

回答 1 投票 0

使用 Kestrel 时发生的 .NET 6 Web 应用程序崩溃

我有一个 .NET 6 Web 应用程序,在使用 Kestrel 时间歇性崩溃: System.Net.Sockets.SocketException (995):由于线程退出或

回答 1 投票 0

dotnet run 挂起/卡住

剃刀网络应用程序无法再在我的计算机上启动。 构建命令 dotnet build 按预期工作,但 dotnet run 在第一次警告后卡住了。 C:\dev\mywebapp>dotnet 运行 建筑... C...

回答 1 投票 0

在浏览器中过滤客户端证书

我有.net core Web应用程序,它使用kestrel运行。我们有客户端证书授权,工作正常,但有一个问题,如果用户有一些与自定义公司相关的客户端

回答 1 投票 0

Kestrel SNI 证书选择(SSL/TLS)

我有一个 YARP 网关,它使用以下配置: “红隼”:{ “端点”:{ “http”:{ “网址”:“http://+:80” }, ”

回答 1 投票 0

.net 7.0 kestrel appsettings.json 用于 unix 套接字的配置

我有一个用 C# 编写的开源服务应用程序,在 Linux 上的 .net 7 上运行,它使用 Kestrel 公开 HTTP 服务,为应用程序状态提供一些监视端点,并且

回答 1 投票 0

ASP.Net Core API 将文件写入文件存储

我正在使用面向 .net 7 的 .net core api 项目开发一个文档存储库,并使用最少的 API。作为权宜之计,上传的文件将作为文件保存到本地连接的服务器

回答 2 投票 0

如何在 Kestrel Web 服务器上监控/记录文件上传进度?

我正在尝试在服务器端监控当前文件的上传进度。我找不到拦截上传事件来记录文件上传进度的方法。我正在上传大文件,所以这个功能...

回答 0 投票 0

ASP .net core API 将文件写入文件存储

我正在使用面向 .net 7 的 .net core api 项目开发一个文档存储库,并使用最少的 API。作为权宜之计,上传的文件将作为文件保存到本地连接的服务器

回答 1 投票 0

c# app.Run() 失败,因为 UseKestrel() 没有等待配置默认值

我尝试了以下两个功能来配置Kestrel: public static void UseKestralConfigurations(此 WebApplicationBuilder 构建器) { _ = 构建器.服务.配置 我尝试了以下两个功能来配置Kestrel: public static void UseKestralConfigurations(this WebApplicationBuilder builder) { _ = builder.Services.Configure<KestrelServerOptions>(options => { options.ConfigureHttpsDefaults(options => { options.ClientCertificateMode = ClientCertificateMode.AllowCertificate; options.SslProtocols = SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12; //options.ClientCertificate options.ClientCertificateValidation = (cert, chain, policyErrors) => // Certificate validation logic here // Return true if the certificate is valid or false if it is invalid true; options.CheckCertificateRevocation = false; options.ServerCertificate = LoadCertificate(); }); }); } 还有更现代的 UseKestrel(): public static void UseKestrel(this WebApplicationBuilder builder) { builder.WebHost.UseKestrel(options => { options.ConfigureHttpsDefaults(defaults => { defaults.ClientCertificateMode = ClientCertificateMode.AllowCertificate; defaults.SslProtocols = SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12; // defaults.ClientCertificate defaults.ClientCertificateValidation = (cert, chain, policyErrors) => // Certificate validation logic here // Return true if the certificate is valid or false if it is invalid true; defaults.CheckCertificateRevocation = false; defaults.ServerCertificate = LoadCertificate(); }); }); } 但这两种方法都不起作用。当我调试并第一次进入这个函数时,它甚至似乎根本没有运行Configure()或UseKestrel()。这是有道理的,因为它们在构建器构建时运行。 但是,当构建器构建并使用 var app = builder.Build() 创建应用程序时,内部函数:options.ConfigureHttpsDefaults() 永远不会运行。它只是完全跳过这个功能。并且从不配置 ServerCertificate。因此,当应用程序运行时(app.Run()),它立即抛出以下错误: {"The endpoint HttpsInlineCertFile is missing the required 'Url' parameter."} 您可以尝试以下方法: var builder = WebApplication.CreateBuilder(args); builder.WebHost.ConfigureKestrel(op => { op.ConfigureHttpsDefaults(defaults => { defaults.ClientCertificateMode = ClientCertificateMode.AllowCertificate; defaults.SslProtocols = SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12; // defaults.ClientCertificate defaults.ClientCertificateValidation = (cert, chain, policyErrors) => // Certificate validation logic here // Return true if the certificate is valid or false if it is invalid true; defaults.CheckCertificateRevocation = false; .... }); });

回答 1 投票 0

通过 Kestrel MVC 服务器返回 json 文本

考虑以下课程: 假类 { 公共 int 测试 { 得到;放; } } 现在我得到: [HTTPGet] [制作(MediaTypeNames.Application.Json)] 公共异步任务 考虑以下课程: class Fake { public int test { get; set; } } 现在我的GET: [HttpGet] [Produces(MediaTypeNames.Application.Json)] public async Task<IActionResult> Get() { var fake = new Fake { test = 1 }; return Ok(fake); } 结果=完美: { "test": 1 } 这是我的预期结果-以下是我所有的替代失败: 所以,我想做的是 not 使用类,而是它的底层 JSON 表示,所以我尝试了: [HttpGet] [Produces(MediaTypeNames.Application.Json)] public async Task<IActionResult> Get() { var fake = "{ \"test\": 1 }"; return Ok(fake); } 这让我: "{ \"test\": 1 }" 这显然不是我想要的 所以我在 Stack Overflow 上找到了另一个让我尝试的“答案”: [HttpGet] [Produces(MediaTypeNames.Application.Json)] public async Task<IActionResult> Get() { var fake = "{ \"test\": 1 }"; return Ok(JsonConvert.DeserializeObject(fake)); } 然后产生: {"test":[]} 我最后的尝试是 [HttpGet] [Produces(MediaTypeNames.Application.Json)] public async Task<IActionResult> Get() { var fake = "{ \"test\": 1 }"; return new JsonResult(fake); } 这让我: "{ \u0022test\u0022: 1 }" 我到底是怎么得到我的方法来返回我在第一次调用中得到的JSON,但是使用JSON字符串我实际上会返回? 为什么第二次尝试让我得到那个奇怪的JSON结果?

回答 0 投票 0

.NET Core 3.1 传入请求超时不起作用

我有一个 .NET Core 3.1 Web API,我想控制它在返回 504 超时错误之前等待多长时间。 我在 Program.cs 中添加了以下代码: public static void Main(string[] args) =>

回答 0 投票 0

Azure App Services Linux - NetCore 3 with Kestrel - 修改最大标头大小

我正在使用 Kestrel 在 Linux 的 Azure App Services 中运行 NetCore 3.0 应用程序,我需要增加最大标头大小。 我正在通过代码配置它,它在我的 lo 中工作......

回答 1 投票 0

如何组合这两个 RewriteOptions?

我在我的 ASP.Net Core 7 Web 应用程序中强制执行 https 和 nonwww,它与 Program.cs 中的以下代码配合使用效果很好: var 选项 = new Microsoft.AspNetCore.Rewrite.RewriteOptions() .

回答 0 投票 0

如何部署由 Kestrel 托管的 asp.net 核心 Web 应用程序,该应用程序应支持带有自签名证书的 https

我正在部署一个 asp.net core 3.1 web 应用程序。技术堆栈是: 在 linux 机器上作为 docker 容器运行;由 asp.net core 开箱即用的 Kestrel 服务器托管;在测试中使用自签名证书

回答 0 投票 0

在 ASP.NET Core 中是否可以为某个路由分配高优先级?

Kestrel 上的 ASP.NET Core 7 网站每秒处理数千个 API 请求。 我想要一个端点 /API/something_important ,它比处理所有其他

回答 0 投票 0

在 Ubuntu Linux 上的 Docker 中调用 Kestrel 上的 ASP.NET Core 应用程序时超时

我无法在 Ubuntu 20.04 上的 Docker 中运行一个简单的 ASP.NET Core Hello World 应用程序。当我运行 Docker 容器时,Firefox 只是挂起并最终超时。如果我尝试你也一样......

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.