外向小朋友 2021-10-25 09:30 采纳率: 66.7%
浏览 87
已结题

.net 5,使用路由,显示找到了多个接受所有给定参数类型的构造函数。应该只有一个适用的构造函数


 app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Menu}/{action=Index}/{id?}");
            });
//然后我的MenuController中只有一个Index的action

一运行,程序就会进入路由的部分,然后报错
InvalidOperationException: Multiple constructors accepting all given argument types have been found in type 'PesitcideWMS.Controllers.MenuController'. There should only be one applicable constructor.
Microsoft.Extensions.DependencyInjection.ActivatorUtilities.TryFindMatchingConstructor(Type instanceType, Type[] argumentTypes, ref ConstructorInfo matchingConstructor, ref Nullable[] parameterMap)

这是MenuController

using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using PesitcideWMS.Domain.Entity;
using PesitcideWMS.Models;
using PesitcideWMS.Utils;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;

namespace PesitcideWMS.Controllers
{
    [Authorize]
    public class MenuController : Controller
    {
        private readonly ILogger<MenuController> _logger;
        private readonly CoreDbContext _CoreDbContext;
        
        public MenuController(ILogger<MenuController> logger)
        {
            _logger = logger;
        }
        public MenuController(CoreDbContext CoreDbContext)
        {
            _CoreDbContext = CoreDbContext;
        }
        //public async Task<IActionResult> InitView()
        //{
        //    ViewBag.menu_tree = await _CoreDbContext.MenuView.ToListAsync();
        //    return View();
        //}
        public IActionResult Index()
        {
            ViewBag.shouye = "/Home/Index";

            return View();
        }
        [HttpPost]
        public ActionResult<string> GetLeftNavAsync()
        {
            List<MenuView> allValue = new List<MenuView>();
            allValue = _CoreDbContext.MenuView.ToList();
            List<TreeJsonModel> a = Tree.GetTreeJson(allValue);
            return JsonConvert.SerializeObject(a);
        }


        [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
        public IActionResult Error()
        {
            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
        }
    }
}


展开全部

  • 写回答

1条回答 默认 最新

  • Rena Ni 2021-10-26 01:58
    关注

    错误信息很明确提示你了你请求的MenuController里面有多个构造函数,只允许有一个构造函数。

        public class MenuController : Controller
        {
            private readonly ILogger<MenuController> _logger;
            private readonly CoreDbContext _CoreDbContext;
            
            public MenuController(ILogger<MenuController> logger,CoreDbContext CoreDbContext)
            {
                _logger = logger;
               _CoreDbContext = CoreDbContext;
            }
         }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月29日
  • 已采纳回答 10月26日
  • 修改了问题 10月26日
  • 创建了问题 10月25日

悬赏问题

  • ¥15 KeiI中头文件找不到怎么解决
  • ¥15 QT6将音频采样数据转PCM
  • ¥15 本地安装org.Hs.eg.dby一直这样的图片报错如何解决?
  • ¥15 下面三个文件分别是OFDM波形的数据,我的思路公式和我写的成像算法代码,有没有人能帮我改一改,如何解决?
  • ¥15 Ubuntu打开gazebo模型调不出来,如何解决?
  • ¥100 有chang请一位会arm和dsp的朋友解读一个工程
  • ¥50 求代做一个阿里云百炼的小实验
  • ¥15 查询优化:A表100000行,B表2000 行,内存页大小只有20页,运行时3页,设计两个表等值连接的最简单的算法
  • ¥15 led数码显示控制(标签-流程图)
  • ¥20 为什么在复位后出现错误帧
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部