對不起,怪異的標題。以下是我要做的事情:我應該如何調試 - 檢查將來有效的假設?
我在客戶端代碼中調用服務器上的方法。結果,服務器將發送某些數據給客戶端。我想驗證這些數據是否在一秒內到達,除非出現嚴重錯誤,否則情況一定是這樣。代碼如下所示:
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