为了账号安全,请及时绑定邮箱和手机立即绑定

找到多个与名为“ Home”的控制器匹配的类型

找到多个与名为“ Home”的控制器匹配的类型

MMTTMM 2019-12-09 13:55:37
我目前有两个不相关的MVC3项目在线托管。一个工作正常,另一个不工作,给我错误:找到了多个与名为“ Home”的控制器匹配的类型。如果为该请求提供服务的路由('{controller} / {action} / {id}')未指定名称空间来搜索与该请求匹配的控制器,则可能会发生这种情况。如果是这种情况,请通过调用带有“名称空间”参数的“ MapRoute”方法的重载来注册此路由。托管人的工作方式是,他为我提供FTP访问权限,在该文件夹中,我还有另外两个文件夹,每个文件夹用于我的每个应用程序。ftpFolderA2 / foo.comftpFolderA2 / bar.comfoo.com正常运行,我将应用程序发布到本地文件系统,然后通过FTP传输内容,并且可以正常工作。当我上传并尝试运行bar.com时,上述问题触发,并阻止了我使用我的网站。尽管foo.com仍然有效。bar.com是否在ftpFolderA2内的任何地方从控制器进行搜索,这就是为什么它正在寻找另一个HomeController?我怎样才能告诉它只应在Controller文件夹中查找?事实:不使用区域。这是两个完全不相关的项目。我将每个已发布的项目放入每个相应的文件夹中。没有什么花哨。每个项目只有1个HomeController。有人可以确认这是问题吗?
查看完整描述

3 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

在MVC4和MVC5中有点不同,请使用以下


/App_Start/RouteConfig.cs


namespace MyNamespace

{

    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[] {"MyNamespace.Controllers"}

            );

        }

    }

}

和地区


context.MapRoute(

                "Admin_default",

                "Admin/{controller}/{action}/{id}",

                new { action = "Index", id = UrlParameter.Optional },

                new[] { "MyNamespace.Areas.Admin.Controllers" }

            );


查看完整回答
反对 回复 2019-12-09
  • 3 回答
  • 0 关注
  • 739 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信