C# 请求';主页';已找到以下匹配的控制器:Test_Login.controllers.HomeController BPF.controllers.HomeController

C# 请求';主页';已找到以下匹配的控制器:Test_Login.controllers.HomeController BPF.controllers.HomeController,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,请帮忙,我遇到了这样的错误 “/”应用程序中出现服务器错误。 找到多个与名为“Home”的控制器匹配的类型。如果为该请求提供服务的路由({controller}/{action}/{id}')未指定名称空间来搜索与该请求匹配的控制器,则可能会发生这种情况。如果是这种情况,请通过调用“MapRoute”方法的重载来注册此路由,该方法采用“namespaces”参数 对“Home”的请求找到了以下匹配的控制器: User_Login_MVC.Controllers.HomeController B

请帮忙,我遇到了这样的错误

“/”应用程序中出现服务器错误。 找到多个与名为“
Home
”的控制器匹配的类型。如果为该请求提供服务的路由
({controller}/{action}/{id}')
未指定名称空间来搜索与该请求匹配的控制器,则可能会发生这种情况。如果是这种情况,请通过调用“
MapRoute
”方法的重载来注册此路由,该方法采用“
namespaces
”参数

对“
Home
”的请求找到了以下匹配的控制器:

User_Login_MVC.Controllers.HomeController

BPF.Controllers.HomeController
User_Login_MVC.Controllers.HomeController

BPF.Controllers.HomeController
User_Login_MVC.Controllers.HomeController

BPF.Controllers.HomeController]
说明:执行当前web请求期间发生未经处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源

异常详细信息
系统。InvalidOperationException
:找到多个与名为“Home”的控制器匹配的类型。如果为该请求提供服务的路由
({controller}/{action}/{id}')
未指定名称空间来搜索与该请求匹配的控制器,则可能会发生这种情况。如果是这种情况,请通过调用采用“namespaces”参数的“MapRoute”方法的重载来注册此路由

“主页”请求已找到以下匹配控制器:

User_Login_MVC.Controllers.HomeController

BPF.Controllers.HomeController
User_Login_MVC.Controllers.HomeController

BPF.Controllers.HomeController
User_Login_MVC.Controllers.HomeController

BPF.Controllers.HomeController]
源错误:

在执行当前web请求期间生成了未经处理的异常。有关异常的起源和位置的信息可以使用下面的异常堆栈跟踪来识别

堆栈跟踪:

[InvalidOperationException:找到多个与名为“Home”的控制器匹配的类型。如果为该请求提供服务的路由
(“{controller}/{action}/{id}”)可能会发生这种情况
未指定名称空间来搜索与请求匹配的控制器。如果是这种情况,请通过调用采用“
名称空间
”参数的“
映射路由
”方法的重载来注册此路由

对“
Home
”的请求找到了以下匹配的控制器:

User_Login_MVC.Controllers.HomeController

BPF.Controllers.HomeController
User_Login_MVC.Controllers.HomeController

BPF.Controllers.HomeController
User_Login_MVC.Controllers.HomeController

BPF.Controllers.HomeController]
System.Web.Mvc.DefaultControllerFactory.GetControllerTypeWithinNamespaces(RouteBase路由、字符串controllerName、HashSet`1名称空间)+159 System.Web.Mvc.DefaultControllerFactory.GetControllerType(RequestContext RequestContext,String controllerName)+544 System.Web.Mvc.DefaultControllerFactory.System.Web.Mvc.IControllerFactory.GetControllerSessionBehavior(RequestContext RequestContext,String controllerName)+53 System.Web.Mvc.MvcRouteHandler.GetSessionStateBehavior(RequestContext RequestContext)+132 System.Web.Mvc.MvcRouteHandler.GetHttpHandler(RequestContext RequestContext)+33 System.Web.Mvc.MvcRouteHandler.System.Web.Routing.IRoutHandler.GetHttpHandler(RequestContext RequestContext)+10 System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(HttpContextBase上下文)+9966527 System.Web.Routing.UrlRoutingModule.OnApplicationPostResolveRequestCache(对象发送方,EventArgs e)+82 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+141 System.Web.HttpApplication.executesteppl(IExecutionStep步骤)+48 System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)+71

这是我的代码HomeController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Security;

namespace BPF.Controllers
{
    public class HomeController : Controller
    {
        [AllowAnonymous]
        public ActionResult Index()
        {
            return View();
        }

        [Authorize]
        public ActionResult Profile()
        {
            return View();
        }

        [HttpPost]
        [AllowAnonymous]
        public ActionResult Index(User user)
        {
            UsersEntities usersEntities = new UsersEntities();
            int? userId = usersEntities.ValidateUser(user.Username, user.Password).FirstOrDefault();

            string message = string.Empty;
            switch (userId.Value)
            {
                case -1:
                    message = "Username and/or password is incorrect.";
                    break;
                case -2:
                    message = "Account has not been activated.";
                    break;
                default:
                    FormsAuthentication.SetAuthCookie(user.Username, user.RememberMe);
                    return RedirectToAction("Profile");
            }

            ViewBag.Message = message;
            return View(user);
        }

        [HttpPost]
        [Authorize]
        public ActionResult Logout()
        {
            FormsAuthentication.SignOut();
            return RedirectToAction("Index");
        }
    }
}
这是我的代码RouteConfig.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace BPF
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
                //namespaces: new[] { "RecreationalServicesTicketingSystem.Controllers" }
            );
        }
    }
}
不幸的是,MVC不能支持两个同名的操作…甚至 具有不同的签名。唯一的例外是 动作用不同的HTTP谓词属性修饰,如–for 示例–[HttpGet]用于前者,[HttpPost]用于后者:

您的第一个方法可能有默认的动词“HttpPost”