如何将包含.aspx的URL重定向到ASP.NET核心Web API?

falq053o  于 2023-03-20  发布在  .NET
关注(0)|答案(1)|浏览(169)

我希望将Web窗体项目(.aspx)升级到ASP.NET Core Web API。Web窗体项目仅基于传入url的查询字符串返回xml(例如default.aspx?q=test&category=test_category)。
为此,我将在.NET 6中重新编写完整的新项目。但我希望保留URL(例如default.aspx?q=test&category=test_category),因为这在许多地方使用,例如Android和iOS应用程序。
我如何编写一个中间件,它可以重定向到特定的控制器操作并返回xml?

qvtsj1bj

qvtsj1bj1#

我认为MapControllerRoute可以满足您的需要。在您的program.cs或startup.cs中:

app.MapControllerRoute(
    name: "DefaultRedirect",
    pattern: "Default.aspx",
    defaults: new { controller = "NewController", action = "NewAction" });

所有的querystring值都将被保留并发送到新的控制器和函数,在本例中分别是“NewController”和“NewAction”。

相关问题