我想在一些测试功能期间引入轻微的等待,以模拟服务器调用。使用Thread.Sleep(int)
引入等待是明智的还是有更好的方法让服务器等待?
请注意,我将暂停足够长的时间让我在视觉上看到足够的延迟,即使我不希望在实际应用程序中看到这样的延迟。这是为了让我想象可能发生的实际延迟。
我计划在 VS2010 本地调试器网络服务器和 IIS 7 中运行它。我在 .NET 3.5 上
我想在一些测试功能期间引入轻微的等待,以模拟服务器调用。使用Thread.Sleep(int)
引入等待是明智的还是有更好的方法让服务器等待?
请注意,我将暂停足够长的时间让我在视觉上看到足够的延迟,即使我不希望在实际应用程序中看到这样的延迟。这是为了让我想象可能发生的实际延迟。
我计划在 VS2010 本地调试器网络服务器和 IIS 7 中运行它。我在 .NET 3.5 上
Thread.Sleep(int)
是我会使用的。
如果您使用 MVC 和 SessionState 您的请求将被自动序列化 - 因此,如果您使用随机Thread.Sleep()
值检查竞争条件,那么请求 B 将永远不会在请求 A 之前完成,即使时间睡眠时间更少。
这对于您的测试场景来说非常好。只要您不进行压力/负载测试或对服务的调用是同步的,用简单的睡眠替换它们就可以接近服务器行为。
如果您的代码使用异步服务调用,您可能希望模拟更多的服务调用并将睡眠置于单独的线程上,就像您调用服务一样,但这需要很长时间。这样 ASP.Net 将正常运行,您甚至可以尝试一些负载测试。