gpt4 book ai didi

asp.net - MVC 4 Web API 区域 404 错误 : "The controller for path '/Jobs/Send' was not found or does not implement IController."

转载 作者:行者123 更新时间:2023-12-04 17:11:14 27 4
gpt4 key购买 nike

我遇到了一个让我发疯的问题。

我有一个 MVC 4 WebAPI 应用程序,它定义了多个区域。

我的作业区发送 Controller (SendController.cs) 定义如下:

namespace TargetAPI.Areas.Jobs.Controllers
{
public class SendController : ApiController
{
[HttpPost]
public HttpResponseMessage Index(SendRequest req)
{
try
{
//blah blah
}
catch (Exception ex)
{
//blah blah
}
}
}
}

我的工作区域注册 (JobsAreaRegistration.cs) 定义如下:
namespace TargetAPI.Areas.Jobs
{
public class JobsAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Jobs";
}
}

public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Jobs_long",
"Jobs/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new[] { "TargetAPI.Areas.Jobs.Controllers" }
);
}
}
}

我的 RouteConfig.cs 说:
namespace TargetAPI
{
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 string[] { "TargetAPI.Controllers" }
);
}
}
}

当我在其上运行路由调试器时,我得到:
My Route Debug
(来源: boomerang.com)

但是当我尝试发布到 URL“Jobs/Send”时,我得到:

路径“/Jobs/Send”的 Controller 未找到或未实现 IController。

我已经尝试了很多迭代和组合,我的头都在旋转。有任何想法吗?

谢谢!

最佳答案

原来 WebAPI 不处理区域!想象一下我的惊讶。所以我发现了一个很棒的帖子 http://blogs.infosupport.com/asp-net-mvc-4-rc-getting-webapi-and-areas-to-play-nicely/ .现在我在前进。

关于asp.net - MVC 4 Web API 区域 404 错误 : "The controller for path '/Jobs/Send' was not found or does not implement IController.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12291328/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com