У меня есть приложение MVC3. Я должен добавить задержку в один запрос uri. Я знаю, что самый простой способ сделать это - сон, но приложение в производстве имеет большое количество запросов, и я боюсь, что iis без потоков ответит на другой запрос.
Я смотрю на асинхронный контроллер/действие для решения.
Лучше ли для пула iis thead выполнять thread.sleep внутри метода «actionSync»?
Как я могу решить эту задержку? Может быть, асинхронное действие, которое вызывает новую веб-службу, внутри которой находится thread.sleep?
AsyncManager.OutstandingOperations.Increment();
DelayService delayService = new DelayService();
delayService.GetDelayCompleted += (sender, e) =>
{
AsyncManager.Parameters["result"] = e.Value;
AsyncManager.OutstandingOperations.Decrement();
};
newsService.GetDelayAsync(seconds);
В этом случае, если я разверну эту веб-службу в том же IIS, что приложение mvc3 влияет на доступные потоки iis для приложения mvc3? что, если он развернут в другом пуле приложений?
Что я могу сделать?