FROMURI不在localhost上工作

时间:2017-07-13 16:17:42

标签: asp.net-web-api2

我有一个简单的web api 2控制器,看起来像这样:

    [HttpGet]
    [Route("~/My/Stuff")]
    [ResponseType(typeof(IEnumerable<MyStuff>))]
    public async Task<IHttpActionResult> GetAsync([FromUri]FilterRequest request)
    {
        var filter = request == null ? null : new Filter(request.Take, request.Skip);

        return Ok(await _service.GetAsync(filter).ConfigureAwait(false));
    }

我的FilterRequest对象是一个简单的DTO,看起来像:

public class FilterRequest
{
    public int Take { get; set; }

    public int Skip { get; set; }
}

然后允许调用如下:

http://localhost/My/Stuff?Take=5&Skip=10

我的问题是,这不适用于本地。在所有其他环境中它工作正常,它也适用于其他开发机器。但是在我的机器上,请求对象每次都是null。是否有设置,可能在IIS或我的机器上将解决此问题?