首页 > 编程语言 >AspNetCore不明确的匹配异常-请求与多个终结点匹配

AspNetCore不明确的匹配异常-请求与多个终结点匹配

时间:2023-09-27 11:23:50浏览次数:40  
标签:匹配 Admin 终结 AspNetCore 添加 action Home app 路由

框架:net 6.0 AspNet Core MVC

添加区域控制器HomeController,直接启动报错;

因默认路由下存在相同的控制器HomeController(非区域的),需要修改路由映射配置;

在Program.cs添加区域路由配置

app.MapAreaControllerRoute(
    name: "areaRoute",
    areaName: "Admin",
    pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");

完整代码如下:

using Microsoft.AspNetCore.Builder;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddControllersWithViews();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Home/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

app.MapAreaControllerRoute(
    name: "areaRoute",
    areaName: "Admin",
    pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");

app.Run();

区域路由添加到默认路由之后,如果添加到默认路由之前,默认首页将显示区域路由的默认控制器首页页面;

这里只是添加了区域路由,依然会报请求匹配多个路由端点,还需要在区域控制器HomeController上添加属性;

[Area("Admin")]
public class HomeController : Controller
{
    // ...
}

还可以添加`[Route("Admin/[controller]/[action]")]`属性,添加这个属性之后,区域下的页面访问比较死板,不够灵活。

 

标签:匹配,Admin,终结,AspNetCore,添加,action,Home,app,路由
From: https://www.cnblogs.com/codefly/p/17732241.html

相关文章

  • linux 中 awk中sub命令正则匹配数字
     001、[root@pc1test2]#lsa.txt[root@pc1test2]#cata.txtbatch01xyz1batch02xyz2batch03xyz3batch04xyz4batch05xyz5[root@pc1test2]#awk'{sub([0-9]+,"",$1);print$0}'a.txtawk:cmd.line:1:{sub([0-9]+,"",......
  • MySQL正则表达式:模式匹配、中文匹配、替换、提取字符串
    在MySQL中,使用REGEXP或RLIKE操作符进行正则表达式匹配,而使用NOTREGEXP或NOTRLIKE操作符进行不匹配。一些常用的MySQL正则表达式语法:匹配字符:.:匹配任意字符(除了换行符)。[]:匹配方括号中的任意字符。[^]:匹配不在方括号中的任意字符。匹配重复:*:匹配零个或多个前面的字符。+:匹配一个......
  • linux 中sed命令输出匹配字符的下一行或者若干行
     001、grep实现(base)[root@pc1test2]#lsa.txt(base)[root@pc1test2]#cata.txt##测试数据12keyword345keyword678(base)[root@pc1test2]#grep"keyword"-A2a.txt##输出匹配字符后面的两行keyword34--keyword67 002、s......
  • 基于方向编码的模板匹配算法matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本MATLAB2022a 3.算法理论概述       模板匹配是一种常见的计算机视觉方法,用于在一幅图像中寻找指定的模板。它在目标检测、图像识别、物体跟踪等领域中有广泛的应用。基于方向编码的模板匹配算法是一种改进的模板......
  • 在 Shell命令中,通常会使用通配符表达式来匹配一些文件
    #在Shell命令中,通常会使用通配符表达式来匹配一些文件*,?,[],{}例:字符含义实例匹配0或多个字符a*ba与b之间可以有任意长度的任意字符,也可以一个也没有,如aabcb,axyzb,a012b,ab。?匹配任意一个字符......
  • opencv 基于形状的模板匹配
    1.问题或需求描述opencv基于形状的模板匹配测试2.解决方法或原理:主要步骤:使用opencv查找轮廓(findContours)匹配轮廓(形状)(matchShapes)的相似度python代码:importcv2#读取目标图像target_image=cv2.imread('target.png',cv2.IMREAD_COLOR)#读取模板图像template_image......
  • [leetcode] 10. 正则表达式匹配
    10.正则表达式匹配给你一个字符串s和一个字符规律p,请你来实现一个支持'.'和'*'的正则表达式匹配。'.'匹配任意单个字符'*'匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。示例1:输入:s="aa",p="a"输出:false解释:"a"无......
  • 【枚举】【贪心技巧】【集训队互测2021】子集匹配
    题目描述给定\(n,k(2k\geqn)\),二进制中有\(k\)个\(1\)的不超过\(n\)位的数有\(\binom{n}{k}\)个,有\(k-1\)个\(1\)的有\(\binomn{k-1}\)个,后者显然大于等于前者,要求对于每一个\(k\)个\(1\)的数\(x\),都找出一个\(k-1\)位的数\(y\)与之对应,且\(x......
  • BOSHIDA DC电源模块正确匹配输出负载的重要性
    BOSHIDADC电源模块正确匹配输出负载的重要性DC电源模块作为现代电子设备中不可或缺的部分,广泛用于各种应用场合。在使用DC电源模块时,正确匹配输出负载非常重要,这对于保证系统的稳定性、延长设备寿命和提升工作效率都起到了至关重要的作用。 首先,正确匹配输出负载可以保证系......
  • sql server 'IN' 拼接SQL 在C# 中匹配问题
    varsql=@"selectdistincta.Empno,a.Alarmdate,l.Wdat,l.Empno,l.Empnm,l.Depno,l.Depnm,l.Clsno,l.Time1,l.Time2,l.Wtime1,l.Wtime2,l.Latet,l.Erat,l.Offtime,l.Memofrom......