Blazor处理asp页面



我已经将旧的ASP页面(www.company.com/index.asp)迁移到Blazor项目,我试图显示"未找到页面"对于通过"旧书签"访问网站的用户;比如www.company.com/contact.asp。

我已经在_host中尝试了。CSHTML重定向,但不满足条件。

@if ((Request.Path.ToString()?.Contains(".asp")).GetValueOrDefault())
{
LocalRedirect("/NotFound");
return;
}

我尝试添加@page指令@page "/{oldPage}.asp"到NotFound blazor组件,但应用程序不渲染任何页面。

我宁愿解决*asp处理在应用程序本身,而不是在IIS或代理,因为我没有直接访问代理/IIS设置。

有什么提示如何解决这个问题吗?

解决方案是添加到Startup.csendpoints.MapGet("/{page}.asp", async x => { x.Response.Redirect("/NotFound"); });

完整片段:

app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
endpoints.MapGet("/{page}.asp", async x => { x.Response.Redirect("/NotFound"); });
});

最新更新