Я работаю над ASP. Net Веб-API с двумя или более методами сообщения. Я пытаюсь использовать один из методов Post из контроллера API через HttpClient, но каждый раз вызывается первый метод Post. Ниже приведен код
public class JobController : ApiController
{
[HttpPost]
public HttpResponseMessage RunJob([FromBody]UserModel User)
{
}
[HttpPost]
public HttpResponseMessage DownloadFile(string ExportStatusGuid, string PartnerGuid, string UserEmail, string Password)
{
}
}
И что я пытаюсь сделать, чтобы использовать его через HTTP-клиент:
using (var client = new HttpClient())
{
var arguments = new { ExportStatusGuid, PartnerGuid };
HttpContent content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(arguments), Encoding.UTF8, "application/json");
var responseTask = client.PostAsync(ApiUrl + "Job/DownloadFile", content);
responseTask.Wait();
if (responseTask.Result.IsSuccessStatusCode)
{
}
}
Вы можете видеть, что я вызвал DownloadFile из JobController
var responseTask = client.PostAsync(ApiUrl + "Job/DownloadFile", content);
но вместо вызова Job / DownloadFile он запускает метод Job / RunJob. Я не мог понять проблему, даже я пытался добавить конфигурации маршрутов.
Конфигурация маршрута по умолчанию здесь
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
Пожалуйста, помогите мне относительно этой проблемы.