如何在ASP.NET Core 2中为所有Razor页面添加.html url后缀?

ali*_*lik 5 c# asp.net-mvc asp.net-core-mvc

我有一个ASP.NET Core 2.0 MVC应用程序使用存储在/ Pages文件夹下的项目树中的Razor页面.

使用默认路由等设置项目.

我希望所有Razor页面在浏览器的地址栏中都有.html扩展名.

文件/Pages/test.cshtml目前可通过http:// localhost/test获得.我希望通过http://localhost/test.html提供此页面.

我试图理解路由设置,但没有足够的理解它来提供解决方案.

我应该写什么,以便通过.html后缀提供文件?

Hos*_*ein 3

为此定义了一条路线,如下所示

routes.MapRoute(
"MyHtml",
"{controller}/{action}.html",
new { controller = "Home", action = "Index" });
Run Code Online (Sandbox Code Playgroud)

并添加HtmlFileHandler到 web.config。路线.html现在有效。

<handlers>
  <add name="HtmlFileHandler" path="*.html" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
Run Code Online (Sandbox Code Playgroud)