C# 创建а;自定义路由

C# 创建а;自定义路由,c#,asp.net,asp.net-core-mvc,C#,Asp.net,Asp.net Core Mvc,在我的应用程序中,我想创建一个自定义路由。我希望当我输入像www.mydomainname.com/stringdata这样的URL时触发DefaultAction: public async Task<IActionResult> DefaultAction(string stringdata) { ... } 但是我读到我应该使用endpoints.mapcontrolleroute()而不是app.UseMvc() 是否可以使用endpoints.MapControll

在我的应用程序中,我想创建一个自定义路由。我希望当我输入像
www.mydomainname.com/stringdata
这样的URL时触发
DefaultAction

public async Task<IActionResult> DefaultAction(string stringdata)
{
   ...
}
但是我读到我应该使用
endpoints.mapcontrolleroute()
而不是
app.UseMvc()


是否可以使用
endpoints.MapControllerRoute()

只需将RouteAttribute
[route({stringdata}”)]
应用于操作方法:

[路由(“{stringdata}”)]
公共异步任务DefaultAction(字符串stringdata)
{
...
}
它将根据需要使用标准模板生成的
Configure()
方法进行处理,而无需调用
MapControllerOute()

public void配置(IApplicationBuilder应用程序,IHostingEnvironment环境)
{
if(env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
其他的
{
app.UseExceptionHandler(“/Home/Error”);
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseMvc(路由=>
{
routes.MapRoute(
名称:“默认”,
模板:“{controller=Home}/{action=Index}/{id?}”);
});
}

有关更多信息,包括如何使用
MapControllerRoute()
(如果需要),请参阅此帖子需要更多详细信息和清晰性。
app.UseMvc(routes =>
{
    routes.MapRoute(
      name: null,
      template: "{stringdata}",
      defaults: new { controller = "DefaultController", action = "DefaultAction" });
});