对不起,怪异的标题。以下是我要做的事情:我应该如何调试 - 检查将来有效的假设?
我在客户端代码中调用服务器上的方法。结果,服务器将发送某些数据给客户端。我想验证这些数据是否在一秒内到达,除非出现严重错误,否则情况一定是这样。代码如下所示:
Channel.SendMeData (id);
new Thread (() => {
Thread.Sleep (1100);
Debug.Assert (ReceivedData[id] != null);
}) {
IsBackground = true
}.Start();
正如你所看到的,我创建一个新的线程仅用于Debug.Assert
荷兰国际集团,依靠成功的网络代码的条件。我不禁想到,由于多种原因,这是非常错误的,但我真的不知道如何避免这种情况。当然,我确实编写过单元测试,但我也喜欢在主代码中使用断言。
作为次要的补充,新的线程可以放在'#if DEBUG'中以限制它在产品中的影响。 – mafu 2010-09-08 12:32:33