请求

时间:2017-09-20 12:30:11

标签: c#

我的代码在我的网站上调用控制器功能:

int id1 = 1;
int id2 = 2;
int id3 = 3;

var url = $"http://blah.com/blah?Id1={id1}&Id2={id2}&Id3={id3}";

using (var client = new HttpClient())
using (var response = client.GetAsync(url).Result)

在控制器中

public ActionResult blah(int Id1, int Id2, int Id3)

我遇到的问题是,从不调用blah因为它正在剥离参数。如果我将函数参数转换为nullables,它会触及代码。

我通过将手表中的文件复制到浏览器中来验证网址是否正确解析。按预期命中等等

1 个答案:

答案 0 :(得分:2)

我使用webapi 2和默认项目设置重新创建了您的问题。

我的环境是使用iis的Windows 10。

我有一个wpf应用程序(用于触发像这样的虚拟请求)

private async void DummyRequest()
{
    HttpClient client = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true });
    int id1 = 1;
    int id2 = 2;
    int id3 = 3;
    HttpResponseMessage xResp = await client.GetAsync($"http://localhost:52089/api/test?id1={id1}&id2={id2}&id3={id3}");
}

现在是web api项目代码:

public IHttpActionResult GetTest(int id1, int id2, int id3)
{
    if (id1 != 1)
    {
        return NotFound();
    }
    return Ok("Values are correct");
}

这在所有方面都有效。我认为问题在于路由选项