升级到 aspnet core 2.1 之后 route 无法匹配带有文件后缀(.html)的请求

route template:

routes.MapRoute("IndexPage",                "feed/{page}.html",                new { controller = "User", action = "Index" }
            );

请求地址:http://www.abc.com/feed/2.html,无法匹配上述路由。

SetCompatibilityVersion(CompatibilityVersion.Version_2_1)已经添加了。

请问是什么原因?


RISEBY
浏览 1355回答 1
1回答

慕容森

定位问题的步骤:首先受到 aspnetcore 2.1 升级文档的启发,先从sln中移出了Web项目,然后删除了该项目下所有的文件,使用dotnet new mvc新建一个项目,添加路由 feed/{page}.html,测试结果是可以正常匹配的。于是,逐步恢复原来的内容,先是 csproj 中的引用,结果引用一恢复,就无法匹配了,接下来一步一步的缩小范围,最后定位到是由于引用了一个内部的 nuget造成的问题,删除这个引用即可正常匹配了。
打开App,查看更多内容
随时随地看视频慕课网APP