Kon*_*ten 3 c# .net-core asp.net-core-2.2
我知道中间件的注册顺序可能很重要。但是,未必一定如此。
我注意到UseDefaultFiles()必须位于UseStaticFiles()之前(可以由UseFileServer()完全规避)。
我不明白是为什么。它们如何碰撞?
我已经用Google搜索这个问题,但是对于在这种特殊情况下订单为何如此重要一无所知。只是它很重要...
摘自ASP.NET Core中静态文件的文档(在“服务默认文档”下,有一条重要说明)。
UseDefaultFiles必须先调用才能UseStaticFiles提供默认文件。UseDefaultFiles是实际上不提供文件的URL重写器。启用静态文件中间件通过UseStaticFiles来提供文件。
基于此,UseDefaultFiles在提供实际文件(UseStaticFiles)之前首先设置URL重写器()很重要。
如果您不这样做,则UseStaticFiles中间件将首先启动,但对应用程序根目录的请求不会告诉中间件要服务哪个“文件”。当您确保首先进行重写时,对应用程序根目录的请求将被重写为对默认文件之一的请求。
| 归档时间: |
|
| 查看次数: |
706 次 |
| 最近记录: |