1

要求された URL:http://localhost/api/access/blob

ルート:

config.Routes.MapHttpRoute(
    name: "AccessApi",
    routeTemplate: "api/{controller}/{action}"
);

定義されたアクション:

public class AccessController : ApiController
{
    // GET api/access/blob
    [HttpGet]
    public string Blob()
    {
        return "blob shared access signature";
    }

    // GET api/access/queue
    [HttpGet]
    public string Queue()
    {
        return "queue shared access signature";
    }
}

結果:

Multiple actions were found that match the request: 
    System.String Blob() on type Project.Controllers.AccessController 
    System.String Queue() on type Project.Controllers.AccessController

適切なアクションが見つからないのはなぜですか?

4

1 に答える 1

3

DefaultApiWebApiConfig.csファイルのルート設定を削除する必要があります。構成だけを追加します。

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.Routes.MapHttpRoute(
            name: "AccessApi",
            routeTemplate: "api/{controller}/{action}"
            );
    }
}

そしてそれはURLで動作します:

http://localhost/api/access/blob

http://localhost/api/access/queue

于 2013-01-30T23:19:47.630 に答える