在ASP.NET中使用thread.sleep(int)还是我应该使用另一种方法是理智的吗?
-
26-10-2019 - |
题
我想在一些测试功能期间介绍一个稍微等待,以模拟服务器调用。使用理智吗 Thread.Sleep(int)
介绍等待,还是有更好的方法可以让服务器等待?
请注意,我会暂停足够长的时间,以至于我可以在视觉上看到足够的滞后,即使我不希望在实际应用中看到如此延迟。这是我可视化的实际延迟 可以 发生。
我计划在VS2010本地调试器网络服务器和IIS 7中运行此操作。
解决方案
Thread.Sleep(int)
是我要使用的。
其他提示
如果您使用的是MVC和SessionState,您的请求将自动序列化 - 因此,如果您正在检查随机的比赛条件 Thread.Sleep()
值然后请求b在请求a之前永远不会完成,即使时间睡觉的时间更少。
这对您的测试Sceanrio完全可以。只要您不进行压力/负载测试或对服务的电话进行同步,用简单的睡眠代替它们就可以接近服务器行为的近似值。
如果您的代码使用异步服务调用,则可能需要稍微模拟更多的服务调用,并像打电话一样,将睡眠打在单独的线程上,但花了很长时间。这样,ASP.NET将表现正常,您甚至可以尝试一些负载测试。
不隶属于 StackOverflow