我正在try 一个简单的ASP.NET Core8 Web应用程序.创造了一个/wwwroot/error.html.

当在浏览器中请求/error.html时,它可以工作,完全没有问题.

Program.cs:

var builder = WebApplication.CreateBuilder(args);

var app = builder.Build();

app.UseStaticFiles();

app.Run();

然后我添加了一个.MapGet afterapp.UseStaticFiles(),当浏览器中的请求/error.html不起作用时,它会呈现"Hello World!"

Program.cs:

var builder = WebApplication.CreateBuilder(args);

var app = builder.Build();

app.UseStaticFiles();

app.MapGet("/{*path}", () => "Hello World!");

app.Run();

当在任何路由映射之前使用静态文件中间件时,如果找到请求的文件,它是否必须为其提供服务?

谢谢大家!

推荐答案

添加显式UseRouting呼叫(如果未呼叫,则默认情况下会添加到管道开始处的某个位置,并且您的捕获所有路由将具有优先级):

app.UseStaticFiles();
app.UseRouting();
app.MapGet("/{*path}", () => "Hello World!");

Csharp相关问答推荐

在ASP.NET中为数据注释 Select 合适的语言

处理. netstandard2.0项目中HttpClient.SslProtocol的PlatformNotSupportedException问题""

如何使用CsvReader获取给定列索引的列标题?

如果属性名为xyz,我需要使用System.Text.Json修改字符串类型的值""<>

Blazor在FluentButton onClick事件上设置参数

C#和ASP.NET核心标识:提高GetUserAsync调用的性能

如何使用自定义负载均衡器管理Ocelot负载均衡器中的多线程和批读取

如何使用MailKit删除邮箱?

具有以接口为其类型的属性的接口;类指定接口的实现,但无效

HttpRequestMessage.SetPolicyExecutionContext不会将上下文传递给策略

Linux Docker上的.NET6在某个时间抛出后,在加密操作期间发生System.Security.Cryptography.CryptographicException:错误

无法将生产环境的AppDbContext设置替换为用于集成测试的内存数据库

异步任务调用程序集

匿名类型的AbstractValidator

在等待OnGetAsync时打开Razor Page显示微调器

在同一个捕获中可以有多种类型的异常吗?

具有嵌套属性的IGGroup

Cmd中的&ping.end()";有时会失败,而";ping";总是有效

异步等待,如何在Windows窗体中使用它们?

我应该使用IMhemyCache来存储承载令牌,还是应该为Azure函数中的401个错误实施Polly重试策略?