我在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)
{
}
}
}
,我得到的响应是超时异常。 发生此异常的原因可能是什么?我是否以错误的方式实现了剩余呼叫?
答案 0 :(得分:0)
您的RestSharp POST请求对我有效。第一步是确认远程服务器发布操作是否按预期进行,请尝试使用Fiddler或Postman进行发布请求并调试Web api以确认。
或者您可以尝试延长请求的超时时间:
request.Timeout = 300000;
答案 1 :(得分:0)
问题是该连接被标记为SSL。删除EnableSSL复选框后,一切正常。