![](/img/trans.png)
[英]Should I use Thread.Sleep between a socket reception and another?
[英]Is it sane to use Thread.Sleep(int) in ASP.NET or should I use another method?
我想在一些测试功能中引入一些轻微的等待,以模拟服务器调用。 是否理智使用Thread.Sleep(int)
来引入等待或是否有更好的方法让服务器等待?
注意,我会停留足够长的时间让我在视觉上看到足够的延迟,即使我不希望在实际应用程序中看到这样的延迟。 这是我可视化可能发生的实际延迟。
我计划在VS2010本地调试器网络服务器和IIS 7中运行它。我在.NET 3.5上
Thread.Sleep(int)
就是我要用的。
如果您正在使用MVC和SessionState,您的请求将被自动序列化 - 因此,如果您使用随机Thread.Sleep()
值检查竞争条件,那么即使时间较少,请求B也将永远不会在请求A之前完成。
这对您的测试sceanrio来说非常好。 只要您没有进行压力/负载测试或对服务的调用是同步的,用简单的Sleep替换它们会给出服务器行为的近似值。
如果您的代码使用异步服务调用,您可能希望模拟更多的服务调用,并将Sleeps放在不同的线程上,就像调用服务一样,但这需要很长时间。 这样ASP.Net将正常运行,您甚至可以尝试一些负载测试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.