Итак, у меня очень странная проблема с asp. net web api.
Под одним и тем же контроллером у меня есть два метода действия, один из которых выполняется в течение нескольких миллисекунд, а другому требуется около 1,5 секунд. Код внутри обоих методов идентичен.
Я никогда не видел ничего подобного, и действительно не знаю, как решить эту проблему.
Вот мой код
[RoutePrefix("test/v420")]
public class SomeController : ApiController
{
ISomeIndex someIndex;
public Listings42_Controller(ISomeIndex someIndex)
{
someIndex = someIndex;
}
[HttpGet]
[RequireHttps]
[Route("test1")]
public async Task<HttpResponseMessage> GetIndex()
{
var obj = await someIndex.Generate();
return new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new StringContent(SerializeToXml(obj),Encoding.UTF8, "application/xml")
};
}
[HttpGet]
[RequireHttps]
[Route("test2")]
public async Task<HttpResponseMessage> GetIndex2()
{
var obj = await someIndex.Generate();
return new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new StringContent(SerializeToXml(obj),Encoding.UTF8, "application/xml")
};
}
}
ОБНОВЛЕНИЕ
Итак, на сервере dev все работает нормально, на рабочем сервере у меня проблема с обоими методами, когда они находятся под SomeController. Если я разделю методы на разные контроллеры, то метод GetIndex () в SomeController имеет низкую производительность, а GetIndex2 () в Some2Controller работает просто отлично.