Я настраиваю новый сервер для веб-API, но когда я пытаюсь сделать почтовый запрос от двух отдельных клиентов, сервер отвечает только на первый.Со второго я всегда получаю 500 Internal Server Error.
Я пытался сделать все методы на сервере асинхронными, но произошла та же ошибка.
Я вызываю веб-службу, как показано ниже:
using(var client = new HttpClient())
{
client.BaseAddress = new Uri("http://serverdomain/ApiName/")
var response = client.PostAsync("controller/method",
keyvaluepairContent);
result = response.Result.Content.ReadAsAsync<List<string>>().Result;
}
И соответствующий сервисный код ниже:
[Route("controller/method")]
[AcceptVerbs("POST")]
public List<string> Foo([FromBody] someparams)
{
//some logic
}
Я написал файл конфигурации как:
config.Routes.MapHttpRoute(
name : "DefaultApi",
routeTemplate : "{controller}/{action}/{id}",
defaults : new { id = RouteParameter.Optinal }
);
Для одного клиента одновременноСервер работает очень хорошо.Я получаю то, что мне нужно.Однако, когда два клиента отправляют запросы даже для разных методов, задержанный всегда получает 500 внутренних ошибок.Отладчик говорит, что приведенный ниже код не может проанализировать результат, так как ответ не является списком строк, а является ошибкой выше.
result = response.Result.Content.ReadAsAsync<List<string>>().Result;
Я думаю, что мой код в порядке, но мне нужно настроить мой веб-API,Я искал об этом, но безрезультатно.