0

我试图广泛地解决这个问题,但找不到答案。定义了大约 30 种方法,所有方法都正确映射,但这个单一方法没有。它的不同之处在于它有 3 个参数,而其他参数则没有。

[HttpGet]
public Info<List<SEOJobTitleLocation>> GetSeoTopLocations(string jobTitle, string city = "", string state = "")
{
    return _jobs.GetSeoTopLocations(jobTitle, city, state);
}

区域代码如下:

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.Routes.MapHttpRoute(
            name: "AreaApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { area = AreaName, id = RouteParameter.Optional },
            constraints: new { id = @"^\d+$" }
        );

        context.Routes.MapHttpRoute(
            name: "AreaApiWithAction",
            routeTemplate: "api/{controller}/{action}/{id}",
            defaults: new { area = AreaName, action = "get", id = RouteParameter.Optional }
        );
    }

我已经从 Microsoft 下载了符号以逐步完成构建,并且可以看到代码中没有生成这个特定的方法。我完全不知道为什么。抱歉,我不能提供更多信息。

我得到的具体错误信息如下:

No HTTP resource was found that matches the request URI...

感谢您提前对此进行调查。

4

1 回答 1

1

尝试删除两个可选参数并“默认”函数内部的参数,就像测试它是否会实例化函数一样。

于 2013-05-22T22:57:24.903 回答