我在VS2017中有一个 ASP.NET 核心MVC控制器,并且我正在尝试通过以下方式提出休息请求:
var baseURL = @"http://localhost:44317/";
var client = new RestClient(baseURL);
var request = new RestRequest(@"api/values", Method.POST);
request.AddJsonBody(new Scan
{
sid = scanId.ToString(), scanPath = scansParentPath
});
var response = client.Execute(request);
接收类是:
[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
// GET api/values
[HttpGet]
public ActionResult<IEnumerable<string>> Get()
{
return new string[] { "value1", "value2" };
}
// POST api/values
[HttpPost]
public void Post([FromBody] Scan value)
{
}
}
}
我得到的响应是超时异常。此异常的原因可能是什么?我是否以不正确的方式实现其余调用?
您的RestSharp POST请求在我这边工作。第一步是确认远程服务器发布操作按预期工作,尝试使用 Fiddler 或 Postman 来执行 post 请求并调试 web api 以确认。
或者您可以尝试延长请求的超时:
request.Timeout = 300000;
问题是连接被标记为SSL。一旦我删除了启用SSL的复选框,一切正常。