0

私はこれを広範囲にステップスルーしようとしましたが、答えを見つけることができませんでした. すべてが正しくマップされる約 30 のメソッドが定義されていますが、この 1 つのメソッドは正しくマップされません。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

関数がインスタンス化されるかどうかを確認するためのテストとして、2 つのオプション パラメータを削除し、関数内のパラメータを「デフォルト設定」してみてください。

于 2013-05-22T22:57:24.903 に答える