我的代码在我的网站上调用控制器功能:
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,它会触及代码。
我通过将手表中的文件复制到浏览器中来验证网址是否正确解析。按预期命中等等
答案 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");
}
这在所有方面都有效。我认为问题在于路由选项