Разумно ли использовать Thread.Sleep (int) в ASP.NET или мне следует использовать другой метод? - PullRequest
5 голосов
/ 17 марта 2011

Я хочу ввести небольшое ожидание во время некоторых функций тестирования, чтобы имитировать вызов сервера.Разумно ли использовать Thread.Sleep(int), чтобы ввести ожидание, или есть лучший способ заставить сервер ждать?

Обратите внимание, я буду делать паузу достаточно долго, чтобы визуально увидеть достаточную задержку, даже еслиЯ не ожидаю увидеть такую ​​задержку в реальном приложении.Это для меня, чтобы визуализировать фактическую задержку, что может произойти.

Я планирую запустить это и в веб-сервере локального отладчика VS2010 и в IIS 7. Я на.1008 *

Ответы [ 3 ]

6 голосов
/ 17 марта 2011

Thread.Sleep(int) это то, что я бы использовал.

2 голосов
/ 18 февраля 2013

Если вы используете MVC и SessionState, ваши запросы будут автоматически сериализованы - поэтому, если вы проверяете условия гонки со случайным значением Thread.Sleep(), тогда запрос B никогда не завершится до запроса A, даже если время спало, если меньше.

ASP.NET MVC и Ajax, одновременные запросы?

1 голос
/ 17 марта 2011

Это прекрасно для вашего теста sceanrio. Пока вы не выполняете нагрузочное / нагрузочное тестирование или синхронные обращения к сервисам, их замена на простой режим Sleep дает точное приближение к поведению сервера.

Если в вашем коде используются асинхронные сервисные вызовы, вы можете эмулировать чуть больше сервисных вызовов и поставить режимы ожидания в отдельные потоки, как будто вы вызываете сервис, но это заняло много времени. Таким образом ASP.Net будет вести себя нормально, и вы даже можете попробовать нагрузочное тестирование.

...