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

StackOverflow https://stackoverflow.com/questions/5332291

  •  26-10-2019
  •  | 
  •  

Вопрос

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

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

Я планирую запустить это как на локальном веб-сервере VS2010 debugger, так и в IIS 7.Я работаю над .NET 3.5

Это было полезно?

Решение

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

Другие советы

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

ASP.NET MVC и Ajax, параллельные запросы?

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top