5

我想在一些测试功能期间引入轻微的等待,以模拟服务器调用。使用Thread.Sleep(int)引入等待是明智的还是有更好的方法让服务器等待?

请注意,我将暂停足​​够长的时间让我在视觉上看到足够的延迟,即使我不希望在实际应用程序中看到这样的延迟。这是为了让我想象可能发生的实际延迟。

我计划在 VS2010 本地调试器网络服务器和 IIS 7 中运行它。我在 .NET 3.5 上

4

3 回答 3

6

Thread.Sleep(int)是我会使用的。

于 2011-03-16T21:53:29.777 回答
2

如果您使用 MVC 和 SessionState 您的请求将被自动序列化 - 因此,如果您使用随机Thread.Sleep()值检查竞争条件,那么请求 B 将永远不会在请求 A 之前完成,即使时间睡眠时间更少。

ASP.NET MVC 和 Ajax,并发请求?

于 2013-02-18T09:29:52.843 回答
1

这对于您的测试场景来说非常好。只要您不进行压力/负载测试或对服务的调用是同步的,用简单的睡眠替换它们就可以接近服务器行为。

如果您的代码使用异步服务调用,您可能希望模拟更多的服务调用并将睡眠置于单独的线程上,就像您调用服务一样,但这需要很长时间。这样 ASP.Net 将正常运行,您甚至可以尝试一些负载测试。

于 2011-03-16T22:10:45.213 回答